AngularJS和DOM:在ng-view中获取元素

时间:2015-11-13 21:06:00

标签: javascript angularjs dom ng-view

我只是想在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?

1 个答案:

答案 0 :(得分:0)

您不能在元素上调用getElementById,只有文档支持该函数。

只是做:

setTimeout(function(){ 
  var theView = document.getElementById("myView").getElementsByClassName("container")[0];
}, 10000);