删除没有 id 标签的 div
我需要一个解决方案来仅在 JavaScript 中删除没有 ID 标签的 div。 div 看起来像这样
。
这是完整的结构。
<tr id="-1">
<td class="stxt">
<div align="center">
</div>
</td>
</tr>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要弄清楚如何获取对它的引用,完成后,您可以使用以下方法删除它:
当然 align 属性已被弃用,但无论如何,您可以找到 div with
align="center"
using:这将删除文档中具有
align="center"
的每个 div。请注意,
getElementsByTagName
返回的对象是 节点列表。如果您从 0 开始迭代并删除节点,它们将从活动列表中删除,因此您将跳过您删除的节点后面的节点,并且最后将尝试访问不存在的节点。向后查看列表可以避免这些陷阱。另一种方法是将 NodeList 转换为数组,但这有点低效。编辑
由于您编辑了问题,这里有一个更新答案。
您可以使用 getElementById 获取对 TR 的引用:
现在您可以查看 DOM:
这是特定于您发布的结构的。
You need to work out how to get a reference to it, once you've done that, you can remove it using:
Of course the align attribute has been deprecated, but anyway, you can find the divs with
align="center"
using:Which will remove every div in the document that has
align="center"
.Note that the object returned by
getElementsByTagName
is a NodeList. If you iterate over it from 0 and remove nodes, they are removed from the live list so you will skip the node following the one you remove and you will attempt to access no existant nodes at the end. Going over the list backwards avoids these pitfalls. An alternative is to turn the NodeList into an array, but that's somewhat inefficient.Edit
Since you edited the question, here's an update answer.
You can get a reference to the TR using getElementById:
Now you can go down the DOM:
Which is specific to the structure you've posted.
如果您只能删除内容,则可以使用:
请参阅 http://jsfiddle.net/7KVkC/
If you can just remove the content, you can use:
See http://jsfiddle.net/7KVkC/
您需要某种方法来使这个 div 标签独一无二。还有另一个名为
getElementsByTagName
的 javascipt 函数,您可以使用它来获取所有 div 标签的数组。然后,您可以使用 DOM 检查该 div 标签是否具有align="center"
属性。You need some way to make this div tag unique. There is another javascipt function called
getElementsByTagName
that you can use to get an array of all of the div tags. You can then use the DOM to check whether that div tag has the property ofalign="center"
.