假设你正在使用的DOM(客户端),并具有对表的引用:
// table references the table DOM element
var keep = document.createDocumentFragment(),
tds = table.getElementsByTagName('td'),
td, i, l;
// extract the content of each cell
for (i = 0, l = tds.length; i < l; i++) {
td = tds[i];
while(td.firstChild) {
keep.appendChild(td.firstChild);
}
}
// insert the content before the table (or where ever you want)
table.parentNode.insertBefore(keep, table);
// remove the table
table.parentNode.removeChild(table);
DEMO
这遍历所有单元格,并附加每个子节点的DocumentFragment
[MDN]。通过这样做,子表节点(我们想要保留的内容)将从表中删除。然后在表格和表格被删除之前插入它们。
如果你有HTML作为字符串,你可以通过创建一个虚设的元素生成DOM:
var dummy = document.createElement('div');
dummy.innerHTML = html;
var table = dummy.getElementsByTagName('table')[0];
// or table = dummy.children[0];
如果这不是你想要的,你必须提供更多的信息。
为什么你需要将其删除? –
使用履带? – yoda
我甚至不知道爬虫是什么。我试图解析一个web应用程序生成的HTML,以便我可以设计它并移动它。 – aerobit