提供的offsetHeight错误值

时间:2018-09-05 16:28:07

标签: javascript jquery angularjs

我正在使用angularjs获取div高度。我的代码如下:

<div ng-repeat="col in columns">
  <div class="panel-default">
    ...
  </div>
</div>

我的Angular代码是

//get elements
for(var i=0; i < columns.length ; i++)
console.log(angular.element(".panel-default")[i].offsetHeight);

控制台中的输出将递增:

111
180
223
265
...
2405

高度对于元素来说是错误的,并且不会如控制台所示在UI上递增。但是当我显示 angular.element(“。panel-default”)并单击以查看每个元素时,offsetHeight参数是正确的。

我也尝试过使用jQuery

$(.class).height()

和本机javascript

document.getElementsByClassName("class")[0].offsetHeight

但结果相同。 为什么这样令人困惑?

修改

enter image description here

2 个答案:

答案 0 :(得分:0)

在JQuery中使用选择器时,对于类和ID,必须使用语音标记。 例如:

$(".class").height();

因此,代替Angular,尝试如下操作:

//get elements
for(var i=0; i < columns.length ; i++)
    console.log($(".class")[i].height());

答案 1 :(得分:0)

它缺少$ timeout服务。

$timeout(function(){
    for(var i=0; i < columns.length ; i++)
    console.log($(".class")[i].height());
})