Javascript 删除没有id标记的div
我需要一个解决方案来删除一个没有ID标签的div。div看起来像这样Javascript 删除没有id标记的div,javascript,dom,Javascript,Dom,我需要一个解决方案来删除一个没有ID标签的div。div看起来像这样 这是完整的结构 <tr id="-1"> <td class="stxt"> <div align="center"> </div> </td> </tr> 您需要某种方法使此div标记唯一。还有另一个名为getElementsByTagName的javascipt函数,您可以使用它来获取所有div标记的数组。然后,您可以使用D
这是完整的结构
<tr id="-1">
<td class="stxt">
<div align="center">
</div>
</td>
</tr>
您需要某种方法使此div标记唯一。还有另一个名为getElementsByTagName
的javascipt函数,您可以使用它来获取所有div标记的数组。然后,您可以使用DOM检查该div标记是否具有align=“center”
属性。您需要了解如何获取对它的引用,完成此操作后,可以使用以下方法删除它:
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
返回的对象是一个。如果从0对其进行迭代并删除节点,它们将从活动列表中删除,因此您将跳过删除节点后的节点,并尝试在最后访问不存在的节点。向后看清单可以避免这些陷阱。另一种方法是将节点列表转换为数组,但这有点低效
编辑
因为你编辑了这个问题,这里有一个更新的答案
您可以使用getElementById获取对TR的引用:
现在您可以进入DOM:
var cell = root.cells[0]; // First cell in the row
var div = cell.getElementsByTagName('div')[0]; // first div
cell.removeChild(div);
特定于您发布的结构。如果您可以删除内容,则可以使用:
var all = document.getElementsByTagName("div");
for(i=0; i < all.length; i++) {
all[i].innerHTML = ""
}
var all=document.getElementsByTagName(“div”);
对于(i=0;i
请参见是否有其他信息可供参考?它是否有id为的父级?我更新了树结构。希望现在更容易执行任务?行var root=document.getElementById('tr');应该是var root=document.getElementById('-1');我试过你的密码,但我运气不好。也许你可以看看我的页面,看看我的结构是否正确。我想删除这个文本图片->url是@sarsar-根据,id属性必须以字母开头,但是浏览器可能允许其他字符。发布的代码将起作用(使用Pradeep建议的编辑)。但是,所讨论的表位于iframe元素中,因此必须首先在iframe中获取对文档的引用,然后在此基础上运行该函数。
var all = document.getElementsByTagName("div");
for(i=0; i < all.length; i++) {
all[i].innerHTML = ""
}