在AngularJS中获得没有JQuery的HTML元素高度
我熟悉AngularJS。 我尽可能地做到“纯”。 出于这个原因,我试图避免包括jQuery。 不过,我有一个挑战,获得一个HTML元素的高度。 目前,我正在尝试以下内容:
angular.module('myModule', []) .directive('myDirective', function() { return { restrict: 'A', link: function(scope, element) { console.log(element.css('height')); } }; }) ;
但是,执行此代码时,会将空行写入控制台。 我试图显示元素的高度。 有没有办法做到这一点在AngularJS而不使用jQuery?
谢谢!
看来这是正常工作,并给出了相同的结果,如果你使用:
element.style.height
由于元素上没有设置内联样式或CSS高度,所以会显示一个空行。 而不是依靠风格,你可以直接获取HTML元素的高度。
console.log(element[0].offsetHeight);
http://plnkr.co/edit/03YWwjBjYpid4fVmDxlM?p=preview
如何检索HTML元素的实际宽度和高度?
由angular提供的元素周围的小包装允许您要求属性,所以:
element.prop('offsetHeight');
将工作正常,请参阅: http : //plnkr.co/edit/pFHySDo7hjEcMKCqGuiV?p=preview