jquery删除直接子元素

时间:2011-01-26 14:52:55

标签: jquery

使用jQuery,如何删除我的html主体中的锚标记,该标记也包含一个包装div,这个包装div位于我要删除的锚标记之上。

就像

<body>
    <div id="wrapper"> 
        <a id="not_me" href="#">hi</a>
    </div> 

    <a id="remove_me" href="#">Remove Me</a>

</body>

如果我使用

$("body").find("a:first-child").remove();

它删除了我的包装div中的第一个锚标记,即id为“not_me”的锚标记,而我希望删除“remove_me”。

3 个答案:

答案 0 :(得分:38)

$("body").children("a:first").remove();

您使用children()(docs),因为您只想定位body的直接子女。

然后使用"a:first"作为选择器来定位第一个<a>元素。

这是因为使用first-child-selector(docs)只会获得<a> ,如果它是其父级的第一个子级(它不是)。但是使用first-selector(docs),您可以获得匹配的第一个<a>

替代方案是将它全部放在一个选择器中:

$('body > a:first').remove();

与上述相同,但使用> child-selector(docs)代替children()(docs)方法。

答案 1 :(得分:9)

您想使用children()仅搜索直接子女,您可以使用:firsteq(0)删除第一个:

$("body").children("a").eq(0).remove();

答案 2 :(得分:6)

你为什么不试试:

$("#remove_me").remove()

不知道是不是错了,我还在学习:P