javascript - 删除没有 id 标签的 div

标签 javascript dom

我需要一个解决方案来仅在 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/

相关文章:

java - 使用 PDF2DOM 将 PDF 解析为 HTML 返回 null

Java+DOM : How do I elegantly rename an xmlns:xyz attribute?

javascript - 获取每个地点的 10 条最新评论

javascript - Preventdefault 和 stoppropagation 不适用于指针移动

javascript - jqueryUI 可调整大小和可拖动不能一起工作

javascript - 根据不为零的变化计算事件数

javascript - 如何优化字符串到 DOM 的转换?

javascript - Chrome 在关闭/退出时不清除 SESSION COOKIES

javascript - firebug 和 chrome 控制台都有消失的 console.log 消息

javascript - 使用 DOM 节点上的焦点和模糊事件