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

时间:2013-09-17 14:30:30

标签: javascript angularjs

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

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

      }
    }
});

html看起来像:

<div class="aside" moving-aside>...Content...</div>

执行element.clientHeight之类的操作会返回未定义的内容。

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

2 个答案:

答案 0 :(得分: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);
      }
    }
});

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

答案 1 :(得分:0)

尝试angular.element(element).css('height')