AngularJS在没有JQuery的情况下获取元素属性

Dev*_*xon 3 javascript angularjs

我正在创建一个不使用JQuery的AngularJS站点.在指令中,传递的值是

EngagementApp.directive('movingAside', function() {
    return {
        restrict : 'A',
        link : function(scope, element, attributes) {

      }
    }
});
Run Code Online (Sandbox Code Playgroud)

而html看起来像:

<div class="aside" moving-aside>...Content...</div>
Run Code Online (Sandbox Code Playgroud)

像element.clientHeight这样的事情返回一个未定义的.

如何在不使用JQuery和AngularJS函数的情况下获取元素的属性(高度,宽度,偏移量等)?

Mar*_*rko 14

使用 element[0].clientHeight | offsetHeight | scrollHeight

element[0]允许您访问JQLite选择器集合中的第一个DOM元素,同时clientHeight是DOM元素的内置属性.

EngagementApp.directive('movingAside', function() {
    return {
        restrict : 'A',
        link : function(scope, element, attributes) {
            console.log(element[0].clientHeight);
      }
    }
});
Run Code Online (Sandbox Code Playgroud)

根据您的追求,您可以获得3种不同的高度: