2014-02-20 76 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。 –