Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何删除特定标记后的所有标记?_Javascript_Jquery - Fatal编程技术网

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();