jQuery 遍历- 过滤

搜索元素的范围

三个最基本的过滤方法是:first(), last() 和 eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素。

其他过滤方法,比如 filter() 和 not() 允许您选取匹配或不匹配某项指定标准的元素。


first() 方法

first() 方法返回被选元素的首个元素。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $("div p").first().css("background-color","blue");
});
</script>
</head>
<body>
    <div>
        <p>段落1</p>
    </div>
    <div>
        <p>段落2</p>
    </div>
    <p>段落3</p>
</body>
</html>

选取首个 <div> 元素内部的第一个 <p> 元素。


last() 方法

last() 方法返回被选元素的最后一个元素。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("div p").last().css("background-color","red");
});
</script>
</head>
<body>
    <div>
        <p>段落1</p>
    </div>
    <div>
        <p>段落2</p>
    </div>
    <p>段落3</p>
</body>
</html>

选择最后一个 <div> 元素中的最后一个 <p> 元素。


eq() 方法

eq() 方法返回被选元素中带有指定索引号的元素。

索引号从 0 开始,因此首个元素的索引号是 0 而不是 1。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $("p").eq(1).css("background-color","green");
});
</script>
</head>
<body>
    <p>php中文网 (index 0).</p>
    <p>http://www.php.cn (index 1)。</p>
    <p>google (index 2).</p>
    <p>http://www.google.com (index 3)。</p>
</body>
</html>

选取第二个 <p> 元素(索引号 1)。


filter() 方法

filter() 方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
   $("p").filter(".url").css("background-color","yellow");
});
</script>
</head>
<body>
    <p>php中文网 (index 0).</p>
    <p class="url">http://www.php.cn (index 1)。</p>
    <p>google (index 2).</p>
    <p class="url">http://www.google.com (index 3)。</p>
</body>
</html>

返回带有类名 "url" 的所有 <p> 元素。


not() 方法

not() 方法返回不匹配标准的所有元素。

提示:not() 方法与 filter() 相反。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
   $("p").not(".url").css("background-color","gray");
});
</script>
</head>
<body>
    <p>php中文网 (index 0).</p>
    <p class="url">http://www.php.cn (index 1)。</p>
    <p>google (index 2).</p>
    <p class="url">http://www.google.com (index 3)。</p>
</body>
</html>

返回不带有类名 "url" 的所有 <p> 元素。


继续学习
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("li").eq(-1).css({"color":"red","border":"2px solid blue"}) }) </script> </head> <body> <div> <ul> <li>HTML专区</li> <li>Javascript专区</li> <li>Div+Css专区</li> <li>Jquery专区</li> </ul> <p> eq 是负数的时候,从最后一个元素往回计数。</p> </div> </body> </html>
提交重置代码