2012-02-10 89 views
0

爲什麼以下內容不能刪除類別hiddendiv無法從不在DOM中的對象中刪除HTML元素

var data = 'This is a message <div class="hidden"> <ul id="canceledOrders"> <li>502301</li> </ul> </div>'; 
$(data).find(".hidden").remove(); 

運行上面,data的值後保持不變。 div是不是因爲data不在DOM中而被刪除?

回答

3

您從$()創建的DOM樹中刪除了該元素。
這並不影響它從中解析出來的字符串。

你需要得到新修改DOM樹的HTML源代碼:

var data = ...; 
var tree = $("<div>" + data + "</div>"); 

tree.find('.hidden') 
    .remove(); 

data = tree.html(); 

進行更詳細的說明,請參見my blog