這裏是我的問題的一個例子:jQuery中如何訪問新追加的HTML元素
HTML
<p><a class="clickme" href="#">I would like to say:</a></p>
jQuery的
$("a.clickme").click(function() {
$('p').append('<div><a href="#" id="say-hello">Hello</a></div>');
});
$("#say-hello").click(function(){
alert('test hello');
});
下面是與例如小提琴代碼: http://jsfiddle.net/johnmorris/2UVYd/2/
第一次點擊功能正常啓動。但是,警報(或任何其他函數)不會觸發新添加的元素。我基本上明白,附加的元素不存在於頁面加載,所以jQuery不會「看到」它...因此,第二個點擊功能不會觸發。
我只是想知道是否有辦法解決這個問題。如果是這樣,那是什麼。我似乎無法得出這個想法。
要知道的另一件事是:如果多次點擊,您的'a'會追加多個具有相同'id'的元素。這違背了HTML規範,因爲'id'在文檔中應該是唯一的。我會建議使用'class'來代替。 – jmoerdyk 2012-04-13 17:54:55
謝謝!我的實際代碼確實追加了一個類。我發佈了這個例子,因爲我的實際代碼非常冗長而且令人費解。但是,我已經想到了。再次感謝! :) – 2012-04-13 18:13:10