1

我试图在我的视图中捕捉每个“noscript”标签。我在工厂中创建了一个函数,并在控制器启动时调用它。

这是我的功能:

angular.forEach(angular.element(document.querySelector('noscript')), function (value, key) {
// some code

问题是“noscript”元素在 ng-include 中,并且似乎在控制器之后启动了 include .. 然后,我无法捕捉到元素!

最好的方法是什么?提前感谢:)

4

3 回答 3

1

您可以编写一个指令,公开一个用于处理noscript包含中标签的函数。您可以onload通过ng-include.

小提琴:http: //jsfiddle.net/REYhN/

请注意,您应该避免在控制器中进行 DOM 操作。这就是指令的用途:http ://docs.angularjs.org/api/ng/service/ $compile

于 2014-02-20T09:56:20.450 回答
0

不确定为什么要捕获 noscript 标签,但您是否考虑过使用modernizr 而不是 noscript 标签?

w3c noscript

noscript 元素是一种钝器。有时,可能会启用脚本,但由于某种原因,页面的脚本可能会失败。出于这个原因,通常最好避免使用 noscript,而是设计脚本以将页面从无脚本页面动态更改为脚本页面......

于 2014-02-20T09:25:28.590 回答
0

得到它 !

我在我的路线中调用了我的控制器。我在某处读到这不是一个好习惯。现在明白为什么了。

解决方案是通过 ng-controller 在部分中调用您的控制器。然后,您可以做任何您想做的事情并获取每个 dom 元素 :)。

于 2014-02-20T09:22:27.877 回答