2012-01-24 27 views
2

我有一些鏈接元素是動態添加和隱藏的頁面。在dyamically生成的鏈接上更改文本

它們由第三方telerik控件生成。

我想改變文本的名稱,不幸的是唯一的方法就是使用jquery。

我已經生成了規則(選擇器),它們在顯示時捕獲編輯鏈接。但在初始頁面加載時,編輯鏈接將不可見。用戶點擊某些內容後,這些鏈接將被創建。用戶點擊其他內容後,這些內容將隱藏,其他鏈接將顯示。這些是我需要改變文字的鏈接。

我該如何編寫jQuery代碼,以便每當將與該選擇器匹配的元素添加到頁面時,按鈕文本就會更新?

謝謝!

Edit0

我有過如何產生,他們無法控制的。

有兩個網格,頂部爲父級,底部爲子級。最初的孩子是隱藏的。在頂部網格中選擇一行,底部網格顯示該選擇的項目。這是將這些鏈接添加到頁面中的點(通過AJAX異步),因此它們不在DOM中(編輯子網格中每個子項的鏈接)。

希望更有意義。

EDIT1

//catches the links 
$("#CustomClass .t-button.t-grid-edit").text("Awesome text instead of Edit"); 
+0

「用戶點擊某些內容後,將創建這些鏈接。」 - 你在控制這個代碼嗎?或者您是否無法控制要添加的內容以及如何添加內容? – mrtsherman

+0

我很困惑。何時將此元素與所述選擇器一起添加到頁面中? – Trevor

+0

這個問題有點難以理解。你有任何代碼要顯示嗎?就像抓住鏈接的人一樣。無論如何,當你說鏈接生成時,它們是在頁面加載時生成的,還是通過AJAX等異步調用生成的? –

回答

2

如果你正在使用jQuery 1.7+,你需要使用on事件處理程序分配給滿足您的選擇標準,當前和未來的DOM元素。

如果您使用的是早期版本的jQuery,則應該使用delegate

您聲明您無法控制它們的生成方式,但您是否可以控制將內容添加到頁面中?如果是這樣,您可以使用自定義事件(可能)以及使用on/delegate來處理添加到網格中的新項目。

這裏是展示這種小提琴 - http://jsfiddle.net/dhoerster/xLvYE/

同樣,不知道這會有所幫助。如果我沒有正確理解,我會刪除。希望這有助於。

+0

'on'與事件相關。 jQuery中沒有添加「元素已添加」事件。好吧,有'load',但這隻適用於具有像img,鏈接等src屬性的元素。 – mrtsherman

+0

「用戶點擊某些內容後,這些鏈接將被創建,用戶點擊其他內容後,這些鏈接將隱藏,其他鏈接將顯示。」聽起來好像至少有兩個點擊事件可以綁定到。 – skybondsor

+0

@skybondsor它的確如此。我不完全確定代碼的樣子,這就是爲什麼我把一個簡單的例子放在一起。如果這是正確的方向,那麼我認爲提問者可以用它來運行。 –