Javascript 如何删除特定标记后的所有标记?
我需要先删除Javascript 如何删除特定标记后的所有标记?,javascript,jquery,Javascript,Jquery,我需要先删除#后面的标记,并且只删除#容器中的标记。 我如何使用jQuery实现它 <div id="container"> <div id="first"></div> <div id="remove_me_1"></div> <div id="remove_me_2"></div> <div id="remove_me_3"></div> <a href=""
#后面的标记,并且只删除#容器中的标记。
我如何使用jQuery实现它
<div id="container">
<div id="first"></div>
<div id="remove_me_1"></div>
<div id="remove_me_2"></div>
<div id="remove_me_3"></div>
<a href="" id="remove_me_too">Remove me too</a>
</div>
谢谢您可以使用nextAll
方法:
$.("#container #first ~ *").remove();
-1应尽可能避免使用通用选择器*。@jAndy,有证据表明您的语句适用于jQuery上下文吗?我知道CSS选择器是从右向左匹配的,但我不确定jQuery是否也这样做。但是,querySelectorAll
可能就是这种情况。因此,当不使用querySelectorAll
时,Sizzle从右到左匹配?好的,querySelectorAll
似乎也进行同样的从右到左的处理。您始终可以执行以下操作:$(“#容器#首先”)。查找(“~*”)
首先限制搜索。+1简单明了,删除了我稍微(但只是稍微)复杂的答案。选择器应该是问题中要求的#container#first
。@不满者,页面中应该只有一个#first
元素。@Ionut:是,但它可能并不总是在每页的#容器中。
$("#first").nextAll().remove();
$("#container :gt(0)").remove();