为什么jQuery不能看到跨度?

时间:2016-08-11 20:14:55

标签: jquery angularjs

我正在使用Angular& jQuery,和 我有以下几个方面:

<span id="datacheck">{{data.checkFiles.length}}</span>

此跨度的内容将是一位数字(1,2,3等) 我正在使用jQuery检查数字是否为0.如果为0,则执行某些操作。

<script>
if ($('#datacheck').text() == "0") {
    //do something
}
</script>

我可以看到网页上的跨度内部有一个0,但它不起作用。我对AngularJS很新,我只是不确定如何继续。非常感谢正确方向上的任何一点。

2 个答案:

答案 0 :(得分:0)

要获得预期的结果,请使用$(window).load来获取angular渲染后的范围值

 $(window).load(function() {
alert($("#test").text());
});

http://codepen.io/nagasai/pen/KrbbmW

使用angular可以实现相同,因此请避免使用带角度的Jquery

答案 1 :(得分:0)

  

常见陷阱

     

Angular支持频道(Freenode上的#angularjs)看到了Angular的新用户陷入的一些反复出现的陷阱。

     

DOM操作

     

停止尝试使用jQuery修改控制器中的DOM。真。这包括添加元素,删除元素,检索其内容,显示和隐藏它们。使用内置指令,或在必要时编写自己的指令,进行DOM操作。请参阅下文有关复制功能的信息。

     

如果您正在努力摆脱这种习惯,请考虑从您的应用中删除jQuery。真。 Angular有$ http服务和强大的指令,几乎总是不必要的。 Angular的捆绑jQLite具有一些在编写Angular指令时最常用的特性,特别是对事件的绑定。

- AngularJS FAQ