javascript - AngularJS 不用 JQuery 获取元素属性

标签 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 函数的情况下获取元素的属性(高度、宽度、偏移量等)?

最佳答案

使用 element[0].clientHeight |偏移高度 |滚动高度

element[0] 使您可以访问 JQLite 选择器集合中的第一个 DOM 元素,而 clientHeight 是 DOM 元素的内置属性。

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

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

关于javascript - AngularJS 不用 JQuery 获取元素属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18852687/

相关文章:

带有字符串键的 JavaScript 数组

javascript - 如何将菜单的子菜单更改为每个父菜单的底部

javascript - 选择元素 Angular

html - 按钮相对于另一个 Controller 内部按钮的对齐方式

AngularJS - jQueryUI slider 值对模型的反射

javascript - 基于复选框选择的具有不同值的单列的 AngularJs 过滤器

angularjs - 以 Angular 方式检测窗口焦点?

javascript - javascript 中的范围选择器。范围无效?

javascript - 禁用链接单击,直到页面加载

javascript - 从 Sails.js Controller 访问 cookie