首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在AngularJS中获取不带JQuery的超文本标记语言元素高度

在AngularJS中获取不带JQuery的超文本标记语言元素高度
EN

Stack Overflow用户
提问于 2014-02-20 08:36:40
回答 2查看 92.4K关注 0票数 47

我开始熟悉AngularJS了。我正试着尽可能地“纯洁”。出于这个原因,我尽量避免包含jQuery。然而,我在获取HTML元素的高度时遇到了一个难题。目前,我正在尝试以下操作:

代码语言:javascript
复制
angular.module('myModule', [])
  .directive('myDirective', function() {
    return {
        restrict: 'A',
        link: function(scope, element) {
            console.log(element.css('height'));
        }
    };
  })
;

但是,当执行此代码时,会向控制台写入一个空行。我正在尝试显示元素的高度。在不使用jQuery的情况下,有没有办法在AngularJS中做到这一点?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-20 08:44:44

这似乎工作正常,如果您使用以下命令,则会得到相同的结果:

代码语言:javascript
复制
element.style.height

由于没有在元素上设置内联样式或CSS高度,因此会显示一个空行。您可以直接获取HTML元素的高度,而不是依赖于样式。

代码语言:javascript
复制
console.log(element[0].offsetHeight);

http://plnkr.co/edit/03YWwjBjYpid4fVmDxlM?p=preview

How do I retrieve an HTML element's actual width and height?

票数 61
EN

Stack Overflow用户

发布于 2014-08-22 01:25:36

angular提供的元素周围的小包装允许您请求属性,因此:

代码语言:javascript
复制
element.prop('offsetHeight');

将工作得很好,请参阅:http://plnkr.co/edit/pFHySDo7hjEcMKCqGuiV?p=preview

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21895732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档