Получить высоту элемента HTML без JQuery в AngularJS
Я знакомлюсь с AngularJS. Я стараюсь быть как можно "чистым". По этой причине я стараюсь избегать включения jQuery. Однако у меня возникает проблема получения высоты элемента HTML. В настоящее время я пытаюсь сделать следующее:
angular.module('myModule', [])
.directive('myDirective', function() {
return {
restrict: 'A',
link: function(scope, element) {
console.log(element.css('height'));
}
};
})
;
Однако, когда этот код выполняется, пустая строка записывается в консоль. Я пытаюсь показать высоту элемента. Есть ли способ сделать это в AngularJS без использования jQuery?
Спасибо!
Ответы
Ответ 1
Кажется, что это работает правильно и дает тот же результат, если вы используете:
element.style.height
Поскольку в элементе нет встроенного стиля или высоты CSS, отображается пустая строка. Вместо того, чтобы полагаться на стиль, вы можете напрямую получить высоту HTML-элементов.
console.log(element[0].offsetHeight);
http://plnkr.co/edit/03YWwjBjYpid4fVmDxlM?p=preview
Как получить фактическую ширину и высоту элемента HTML?
Ответ 2
Маленькая обертка вокруг элемента, предоставленная angular, позволяет запрашивать свойства, поэтому:
element.prop('offsetHeight');
Будет хорошо работать, см. http://plnkr.co/edit/pFHySDo7hjEcMKCqGuiV?p=preview