我正在使用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
但结果相同。 为什么这样令人困惑?
修改
答案 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());
})