2014-02-20 44 views
1

我试图在我的视图中捕捉每个“noscript”标记。 我在我的工厂创建了一个函数,并在控制器启动时调用它。AngularJS - 元素在ng中时获取工厂元素-include

这里是我的功能:

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

的问题是,“无脚本”元素在NG-包括,它似乎包括控制器后,启动.. 然后,我可以”抓住元素!

什么是做到这一点的最好方法是什么? 感谢提前:)

回答

1

你可以写一个该指令公开了一个处理include中的noscript标签的函数。您可以通过ng-includeonload属性调用该函数。

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

请注意,你应该避免在控制器做DOM操作。这是什么指令是:http://docs.angularjs.org/api/ng/service/ $编译

+0

感谢您的提示,我将使用您的建议。 –

0

得到它!

我在我的路线中打电话给我的控制器..我在某处读到这不是一个好习惯。 明白为什么现在。

解决方法是通过ng-controller部分调用您的控制器。 然后,你可以做任何你想要的,并得到每个DOM元素:)。

0

不知道你为什么想要捕获noscript标签,但你有没有考虑使用modernizr而不是noscript标签?

w3c noscript

无脚本元件是一个钝器。有时候,可能会启用脚本 ,但由于某种原因页面的脚本可能会失败。出于这个原因 ,这是一般最好避免使用无脚本,并代替 设计脚本的页面从一个脚本的页面上飞一个 脚本页面更改...

+0

问题是不存在^^。我重构了jQuery代码以使其成为Angular。 –