无法从不在DOM中的对象中删除HTML元素

时间:2012-02-10 19:44:12

标签: jquery

为什么以下内容不会删除divhidden

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中吗?

1 个答案:

答案 0 :(得分:3)

您从$()创建的DOM树中删除了该元素 这不会影响它被解析的字符串。

您需要获取新修改的DOM树的HTML源:

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

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

data = tree.html();

有关更详细的说明,请参阅my blog