Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.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 jQuery选择器,用于查找与选择器匹配的给定元素之后的第一个元素_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery选择器,用于查找与选择器匹配的给定元素之后的第一个元素

Javascript jQuery选择器,用于查找与选择器匹配的给定元素之后的第一个元素,javascript,jquery,html,Javascript,Jquery,Html,假设我有这个HTML: <textarea>blah</textarea> <br> <div class="select_this">hello!</div> 废话 你好 当我已经识别了textarea时,如何选择类为“select_this”的DIV?我不想在整个文档上使用类选择器,因为我处理的是一个大文档,而在旧浏览器中,类查找速度很慢 jQuery.next()似乎不起作用,nextest()只查找DOM树,而.ne

假设我有这个HTML:

 <textarea>blah</textarea>
 <br>
 <div class="select_this">hello!</div>
废话

你好
当我已经识别了textarea时,如何选择类为“select_this”的DIV?我不想在整个文档上使用类选择器,因为我处理的是一个大文档,而在旧浏览器中,类查找速度很慢

jQuery.next()似乎不起作用,nextest()只查找DOM树,而.nextUntil()满足除“select\u this”div之外的所有要求。还有其他选项吗?

您想要:


有两种方法可以做到这一点

如果您只有几个兄弟姐妹,请使用此选项:

$('textarea').nextAll('div.select_this').first();
这样做的缺点是,即使在找到第一个元素之后,它也会测试每个后续元素,以查看它是否与选择器匹配。如果您有很多兄弟姐妹,请使用此选项在评估时保存:

$('textarea').nextUntil('div.select_this').andSelf().last().next();
还要注意的是,最好使用and方法,而不是它们相应的选择器(,),因为浏览器本身并不理解选择器,这会大大降低表达式的速度


根据下面的注释进行编辑以合并
和self

好奇问题:通过使用“:first”jQuery是在第一个元素上进行了限定后停止查找,还是在整个DOM中搜索,然后只返回找到的第一个元素?@lonesomeday--dang,这不好,有没有办法实现前者?@ElliotB。请参阅我的答案,它正好处理了这一点:-)如果两个元素紧挨在一起,则第二个示例不起作用,因为nextUntil()调用返回一组空的结果。答案应该包括@tnunamak所说的内容。@tnunamak answer经过修改以考虑到这一点。
$('textarea').nextUntil('div.select_this').andSelf().last().next();