我需要一个解决方案,只在JavaScript中删除没有ID标记的div。 div看起来像<div align="center">
。
这是完整的结构。
<tr id="-1">
<td class="stxt">
<div align="center">
</div>
</td>
</tr>
答案 0 :(得分:3)
您需要弄清楚如何获取它的引用,一旦完成,您可以使用以下命令将其删除:
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);
具体针对您发布的结构。
答案 1 :(得分:1)
如果您可以删除内容,则可以使用:
var all = document.getElementsByTagName("div");
for(i=0; i < all.length; i++) {
all[i].innerHTML = ""
}
答案 2 :(得分:0)
你需要一些方法来使这个div标签独一无二。还有另一个名为getElementsByTagName
的javascipt函数可用于获取所有div标记的数组。然后,您可以使用DOM来检查该div标签是否具有align="center"
的属性。