Javascript 如何删除已知ID的元素中的特定子元素?

Javascript 如何删除已知ID的元素中的特定子元素?,javascript,Javascript,我希望能够确定我知道其ID的父节点是否具有直接子节点,如果检测到此类节点,则将其删除。节点(如果存在)将始终跟随一些文本,因此我认为不能使用firstChild或lastChild 理想情况下,我会使用Javascript将性能影响降至最低。尽管JQuery在必要时也可以工作 代码如下所示: <a id="anchorID">some text <span class="spanClass">some span text</span> </a>

我希望能够确定我知道其ID的父节点是否具有直接子节点,如果检测到此类节点,则将其删除。节点(如果存在)将始终跟随一些文本,因此我认为不能使用firstChild或lastChild

理想情况下,我会使用Javascript将性能影响降至最低。尽管JQuery在必要时也可以工作

代码如下所示:

<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浏览器方面的麻烦。