我只是想在AngularJS控制器中使用DOM来获取ng-view中元素的高度。
我在AngularJS控制器中找到以下代码的Uncaught TypeError: document.getElementsByClassName(...).getElementById is not a function
。
// I do a hardcoded timeout for now to wait for ng-view to load.
setTimeout(function(){
var theView = document.getElementsByClassName("view-container")[0].getElementById("myView").getElementsByClassName("container")[0];
}, 10000);
这是我的HTML的样子:
<div class="view-container">
<ng-view class="view-frame ng-scope" autoscroll="" id="myView">
<div class="container ng-scope">
<div class="row">
<!-- content -->
</div>
</div>
</ng-view>
</div>
我多次检查getElementById
的拼写。我是否遗漏了一些奇怪的事情,AngularJS,ng-view和DOM之所以不喜欢一起工作?或者有一个&#34; Angular&#34;如何在我的ng-view中获取元素的高度而不是使用DOM?
答案 0 :(得分:0)
您不能在元素上调用getElementById,只有文档支持该函数。
只是做:
setTimeout(function(){
var theView = document.getElementById("myView").getElementsByClassName("container")[0];
}, 10000);