2012-02-08 51 views
1

我在我的網頁是這樣的:HTML嵌套DIV的不改變

現在我想要做這樣的事情:

$.each(this.find(".item"), function(index, value) { 
    $(value).html("Test" + $(value).html()); 
}); 

我當然希望做一些更循環內的東西,但這只是一個例子。當我這樣做時,所有「測試」變成「TestTest」,但「Test2」不變成「TestTest2」。有沒有辦法選擇這些項目,即使在另一個內部?順便說一句:每個項目中都可能有一個conatiner。即使在那些已經嵌套的人中。

回答

3

$(value).html("Test" + ...)的調用實際上會刪除並重新添加元素,因此迭代的任何後代元素(類爲item)都已從DOM中刪除。

嘗試以下操作:

this.find(".item").each(function(index, value) { 
    $(value).prepend("<span>Test</span>"); 
}); 
+0

MH,這是有道理的,我從來沒有想過這個問題。 – 2012-02-08 10:16:45

+1

它是「後代」而不是「未來」(因爲兄弟姐妹確實會改變),但是你已經掌握了它的核心。 – Quentin 2012-02-08 10:17:57

+0

我試過你的解決方案。它非常完美!謝謝。 – 2012-02-08 10:18:55