此方法用于在选择器的基础之上搜索查找当前元素之前所有的同辈元素,直到遇到匹配的那个元素为止:
如果提供的jQuery代表了一组DOM元素,.prevUntil()方法也能让我们找遍所有元素所在的DOM树,直到遇到了一个跟提供的参数匹配的元素的时候才会停下来。这个新jQuery对象里包含了前面所有找到的同辈元素,但不包括那个选择器匹配到的元素
如果没有选择器匹配到,或者没有提供参数,那么排在前面的所有同辈元素都会被选中。这就跟用没有提供参数的 .prevAll()效果一样
参数
[expr][,filter]
expr: 用于筛选祖先元素的表达式filter: 一个字符串,其中包含一个选择表达式匹配元素[element][,filter]
element:用于筛选祖先元素的DOM元素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;750px;margin:25px auto;}
div > p{white-space: pre-wrap;margin:15px 0;}
div >*{text-indent:8px;}
.hover{color:#FF96EC;}
</style>
<script type='text/javascript'>
$(function(){
//$('img.pic').parent().parent().prevUntil('.list').addClass('hover'); // 不会选择类名为list的元素
$('img.pic').parent().parent().prevUntil('.list','.selector').addClass('hover');
});
</script>
</head>
<body>
<div id='demo'>
<div class='noClassDemo'>
<ul class='list'>
<li><a href='#'><img src='#'></a></li>
<li><a href='#'><img src='#'></a></li>
<li><a href='#'><img src='#'></a></li>
<li><a href='#'><img src='#'></a></li>
<li><a href='#'><img src='#'></a></li>
<li><a href='#'><img src='#'></a></li>
<li><a href='#'><img src='#'></a></li>
<li><a href='#'><img src='#' class='pic'></a></li>
<li><a href='#'><img src='#'></a></li>
</ul>
<ul class='list'>
<li><a href='#'><img src='#'></a></li>
<li><a href='#'><img src='#'></a></li>
<li><a href='#'><img src='#'></a></li>
<li><a href='#'><img src='#'></a></li>
<li><a href='#'><img src='#'></a></li>
<li><a href='#'><img src='#'></a></li>
<li class='selector'><a href='#'><img src='#'></a></li>
<li><a href='#' class='sup'><img src='#' class='pic'></a></li>
<li><a href='#'><img src='#'></a></li>
</ul>
</div>
</div>
</body>
</html>