使用 javascript 从 DOM 树中删除 p 元素
这应该是一个简单的问题,但我需要帮助来解决问题: 我需要从 DOM 树中删除带有“goup”类的元素 使用javascript(最终使用原型,但没有其他库)。 我不仅想隐藏该段落,还想将其从 DOM 树中完全删除。
我使用 getElementsByClassName 的解决方案不起作用。
function hidegoup() {
var goup= document.getElementsByTagName("p")
.getElementsByClassName("goup");
goup.style.display = 'none';
goup.removeChild();
}
HTML:
<div id="poems">
<div class="poem" id="d1">
<p class="goup">
<a href="#">To the top of the page</a>
</p>
</div>
</div>
This should be a simple one, and yet I need help to solve the problem:
I need to remove the element with the class "goup" on it from the DOM tree
with javascript (eventually with prototype, but no other library).
I don't only want to hide that paragraph, but remove it entirely from the DOM tree.
My solution to use getElementsByClassName does not work.
function hidegoup() {
var goup= document.getElementsByTagName("p")
.getElementsByClassName("goup");
goup.style.display = 'none';
goup.removeChild();
}
THE HTML:
<div id="poems">
<div class="poem" id="d1">
<p class="goup">
<a href="#">To the top of the page</a>
</p>
</div>
</div>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果你想从 DOM 中删除一个
node
,请使用:来实现你想要做的事情:
if you want to remove a
node
from the DOM, use:as to what you want to do:
getElementsByClassName
返回 NodeList,而不是 Node。您必须使用for
循环对其进行迭代getElementsByClassName
不受支持,除非在最近的浏览器中,您可能应该使用 一个抽象差异的库removeChild
删除调用它的元素的指定子元素:parent.removeChild(child) ;
,您不必直接在要删除的元素上调用它。getElementsByClassName
returns a NodeList, not a Node. You have to iterate over it with afor
loopgetElementsByClassName
is not supported except in recent browsers, you should probably use a library that abstracts the differences awayremoveChild
removes the specified child of the element upon which it is called:parent.removeChild(child);
, you don't call it on the element you want to remove directly.