我需要一个解决方案来仅在 JavaScript 中删除没有 ID 标签的 div。 div 看起来像这样 <div align="center">
.
这是完整的结构。
<tr id="-1">
<td class="stxt">
<div align="center">
</div>
</td>
</tr>
最佳答案
您需要弄清楚如何获取对它的引用,完成后,您可以使用以下方法删除它:
div.parentNode.removeChild(div);
当然,align 属性已被弃用,但无论如何,您可以使用 align="center"
找到 div:
var divs = document.getElementsByTagName('div');
var div;
var i = divs.length;
while (i--) {
div = divs[i];
if (div.getAttribute('align') == 'center') {
div.parentNode.removeChild(div);
}
}
这将删除文档中具有 align="center"
的每个 div。
请注意,getElementsByTagName
返回的对象是 NodeList 。如果您从 0 开始迭代并删除节点,它们将从事件列表中删除,因此您将跳过您删除的节点后面的节点,并且最后将尝试访问不存在的节点。向后查看列表可以避免这些陷阱。另一种方法是将 NodeList 转换为数组,但这有点低效。
编辑
由于您编辑了问题,这里是更新答案。
您可以使用 getElementById 获取对 TR 的引用:
var root = document.getElementById('-1');
现在你可以访问 DOM 了:
var cell = root.cells[0]; // First cell in the row
var div = cell.getElementsByTagName('div')[0]; // first div
cell.removeChild(div);
这是特定于您发布的结构的。
关于javascript - 删除没有 id 标签的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6025529/