Javascript 如何删除已知ID的元素中的特定子元素?
我希望能够确定我知道其ID的父节点是否具有直接子节点,如果检测到此类节点,则将其删除。节点(如果存在)将始终跟随一些文本,因此我认为不能使用firstChild或lastChild 理想情况下,我会使用Javascript将性能影响降至最低。尽管JQuery在必要时也可以工作 代码如下所示:Javascript 如何删除已知ID的元素中的特定子元素?,javascript,Javascript,我希望能够确定我知道其ID的父节点是否具有直接子节点,如果检测到此类节点,则将其删除。节点(如果存在)将始终跟随一些文本,因此我认为不能使用firstChild或lastChild 理想情况下,我会使用Javascript将性能影响降至最低。尽管JQuery在必要时也可以工作 代码如下所示: <a id="anchorID">some text <span class="spanClass">some span text</span> </a>
<a id="anchorID">some text
<span class="spanClass">some span text</span>
</a>
一些文本
一些跨文本
我们将一如既往地感谢您的帮助。如果您想删除锚点中的子节点,并且您对jQuery没有意见,那么它非常简单:
$("#anchorId").empty();
编辑
是否仅删除跨度
$("#anchorID span").remove();
这将移除锚中的所有跨度。如果只想删除第一个跨距,则可以这样做
$("#anchorID span:first").remove();
如果您想删除锚点中的子节点,并且对jQuery没有意见,那么非常简单:
$("#anchorId").empty();
编辑
是否仅删除跨度
$("#anchorID span").remove();
这将移除锚中的所有跨度。如果只想删除第一个跨距,则可以这样做
$("#anchorID span:first").remove();
使用jQuery和提供的HTML,它只需
$(“#anchorId”).remove(“.spanClass”)代码>使用jQuery和提供的HTML,只需$(“#anchorId”)。删除(“.spanClass”)
使用纯JavaScript use element.removeChild:使用纯JavaScript use element.removeChild:如果您不想删除顶级textNode
节点(即“某些文本”锚文本):
如果您不想删除顶级textNode
s(即“某些文本”锚文本):
普通ol js
var target = document.getElementById("anchorId");
if(target.hasChildNodes())
{
var children = new Array();
children = target.childNodes();
for(child in children)
{
target.removeChild[child];
}
}
普通ol js
var target = document.getElementById("anchorId");
if(target.hasChildNodes())
{
var children = new Array();
children = target.childNodes();
for(child in children)
{
target.removeChild[child];
}
}
@Adma Racks很抱歉,但我应该更具体地说,我需要保持锚文本不变。就是这样!非常感谢。@Adma Racks很抱歉,但我应该更具体地说,我需要保持锚文本不变。就是这样!非常感谢。使用jQuery是一个可忽略的性能问题,它将为您节省代码和x浏览器方面的麻烦。使用jQuery是一个可忽略的性能问题,它将为您节省代码和x浏览器方面的麻烦。