[ jquery 过滤器 nextUntil([exp|ele][,fil]) ] 此方法用于在选择器的基础之上搜索被选元素的后面的所有同级元素,方法返回 selector 与 stop 之间的每个元素之后的所有同级元素,并且提供第二个参数来用于实现过滤效果,多个参数使用逗号相隔
此方法用于在选择器的基础之上搜索被选元素的后面的所有同级元素,方法返回 selector 与 stop 之间的每个元素之后的所有同级元素,并且提供第二个参数来用于实现过滤效果,多个参数使用逗号相隔,参数解释如下:
概述:
查找当前元素之后所有的同辈元素,直到遇到匹配的那个元素为止。
如果提供的jQuery代表了一组DOM元素,.nextUntil()方法也能让我们找遍所有元素所在的DOM树,直到遇到了一个跟提供的参数匹配的元素的时候才会停下来。这个新jQuery对象里包含了下面所有找到的同辈元素,但不包括那个选择器匹配到的元素。
如果没有选择器匹配到,或者没有提供参数,那么跟在后面的所有同辈元素都会被选中。这就跟用没有提供参数的 .nextAll()效果一样。
1. 可以是表达式也可以是DOM对象,用于对选取同级元素的选取边界(stop)
2. 用于在选取的同级元素中实现过滤出与第二个参数相符的元素对象(filter)
实例:
<html lang='zh-cn'>
<head>
<title>Insert you title</title>
<meta http-equiv='description' content='this is my page'>
<meta http-equiv='keywords' content='keyword1,keyword2,keyword3'>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type='text/javascript' src='./js/jquery-1.12.1.min.js'></script>
<style type="text/css">
*{margin:0;padding:0;}
html{font:400 15px/1.2em 'Courier New';color:#666;width:750px;margin:25px auto;}
.hover{color:#FF96EC;}
</style>
<script type='text/javascript'>
$(function(){
$('#term-2').nextUntil('dt').css({'background-color':'red'});
var term3 = document.getElementById("term-3");
$("#term-1").nextUntil(term3, "dd").addClass('hover');
});
</script>
</head>
<body>
<div id='demo'>
<dl>
<dt id="term-1">term 1</dt>
<dd>definition 1-a</dd>
<dd>definition 1-b</dd>
<dd>definition 1-c</dd>
<dd>definition 1-d</dd>
<dt id="term-2">term 2</dt>
<dd>definition 2-a</dd>
<dd>definition 2-b</dd>
<dd>definition 2-c</dd>
<dt id='term-3'>term 3</dt>
<dd>definition 3-a</dd>
<dd>definition 3-b</dd>
</dl>
</div>
</body>
</html>