如果我提取HTML文檔的所有元素並將它們存儲在數組中。 現在假設我使用jquery remove()方法刪除了一些元素。我知道它也會刪除它的小孩。現在我想遍歷列表並想知道哪些子元素也被刪除。 看看這段代碼: -Idenify不存在的html元素
$(document).ready(function() {
var list = $('*');
for (var i=0; i<list.length; i++) {
console.log(i + " " + list[i].tagName);
}
$("table").remove();
for (var i=0; i<list.length; i++) {
if ($(list[i]).parent().length == 0) console.log(list[i].tagName + "does not exist in dom now");
else console.log(i + " " + list[i].tagName + " " + $(list[i]).parent().get(0).tagName);
}
});
HTML部分是: -
<div>
<table>
<tr>
<td> Hi this is Sachin </td>
<td> Hi this is Rahul </td>
</tr>
</table>
</div>
而且我收到的輸出是:_
0 HTML parent.html:9
1 HEAD parent.html:9
2 SCRIPT parent.html:9
3 SCRIPT parent.html:9
4 BODY parent.html:9
5 DIV parent.html:9
6 TABLE parent.html:9
7 TBODY parent.html:9
8 TR parent.html:9
9 TD parent.html:9
10 TD parent.html:9
0 HTML undefined parent.html:14
1 HEAD HTML parent.html:14
2 SCRIPT HEAD parent.html:14
3 SCRIPT HEAD parent.html:14
4 BODY HTML parent.html:14
5 DIV BODY parent.html:14
TABLEdoes not exist in dom now parent.html:13
7 TBODY TABLE parent.html:14
8 TR TBODY parent.html:14
9 TD TR parent.html:14
10 TD TR
我不明白爲什麼TD和tr正在展示他們的父母。他們也將被視爲已刪除。現在有沒有其他方法可以找出哪些是我列表中已刪除的項目。 在此先感謝
你有什麼目標?如果你不想從'list'中刪除所有被刪除的元素的子元素,爲什麼不用相同的選擇器重新填充列表並重置for循環。 – 2012-06-07 07:16:53