使用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”。
答案 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()
仅搜索直接子女,您可以使用:first
或eq(0)
删除第一个:
$("body").children("a").eq(0).remove();
答案 2 :(得分:6)
你为什么不试试:
$("#remove_me").remove()
不知道是不是错了,我还在学习:P