我正试图在我看来抓住每个“noscript”标签。 我在工厂中创建了一个函数,并在启动控制器时调用它。
这是我的功能:
angular.forEach(angular.element(document.querySelector('noscript')), function (value, key) {
// some code
问题是“noscript”元素在ng-include中,似乎在控制器之后启动了include。 然后,我无法抓住这些元素!
最好的方法是什么? 谢谢提前:)
答案 0 :(得分:1)
您可以编写一个指令来公开处理include中noscript
标记的函数。您可以通过onload
的{{1}}属性调用该函数。
小提琴:http://jsfiddle.net/REYhN/
请注意,您应该避免在控制器中进行DOM操作。这就是指令:http://docs.angularjs.org/api/ng/service/ $ compile
答案 1 :(得分:0)
得到它!
我在我的路线中打电话给我的控制器..我在某处读到这不是一个好习惯。 现在明白为什么。
解决方案是通过ng-controller调用部分控制器。 然后,你可以做任何你想做的事情并获得每个dom元素:)。
答案 2 :(得分:0)
不确定为什么要捕获noscript标记,但是您是否考虑过使用modernizr而不是noscript标记?
noscript元素是一种钝器。有时,脚本可能会 启用,但由于某种原因,页面的脚本可能会失败。为了这 原因是,通常最好避免使用noscript,而是使用noscript 设计脚本将页面从无脚本页面更改为 脚本页面即时...