我是半新的javascript/jquery所以先進的道歉,如果我失去了一些基本的東西。我有一個函數,只要用戶鍵入具有特定類的元素,就會觸發該函數。Jquery類選擇器無法選擇新的類實例添加.append()
$('.relevantClass').keyup(function(){
//code...
});
現在,這個功能可能最終,根據不同的情況,通過.append()方法創建一個很好的協議新的HTML,包括relevantClass的新實例。
var newHTML = <div class='relevantclass'>Content...</div>;
$('#wrapper').append(newHtml);
但是,當用戶鍵入新創建的相關類時,jquery選擇器似乎沒有檢測到並執行該函數。我已經檢查了新創建的Html,並且它有正確的類標籤和相關類的舊實例。
我猜這與.append()有關。搞亂DOM,我需要「刷新」選擇器,讓它做jquery的事情來研究DOM來找到新的類。有關如何做到這一點的任何想法?有沒有我找不到的jquery方法?
在此先感謝!
太好了,謝謝!看起來這正是我需要的。如果可以的話,我會在明天讓每個人都知道。 newHtml實際上是一些約200個char字符串,大約有三個嵌套div,有很多變量,我必須使用.replace和regex來動態格式化。然後它傳遞給.append。只是想讓它變得可怕。 – Newmu 2012-08-05 07:31:12
工作很好,謝謝! – Newmu 2012-08-08 01:35:19
@purmou雖然我同意使用最接近的父代作爲委託事件處理程序是一種好習慣,但您應該在代碼中更清楚地說明這一點;如果'.relevantClass'還不存在,'.parent()'不會找到任何東西,處理程序也不會被綁定。它在這種情況下工作,因爲現有的'.relevantClass'元素和代碼只是附加更多,但一般來說,你應該根據html硬編碼父代的直接選擇器。 (無論如何+1) – nbrooks 2012-08-08 01:39:06