您现在的位置: 365建站网 > 建站教程 > jQuery 教程 > jQuery 遍历 - filter() 方法

jQuery 遍历 - filter() 方法

此节有 270 人学习过     参与评论

实例

改变所有 div 的颜色,然后向类名为 "middle" 的类添加边框:

</>code

  1. $("div").css("background", "#c8ebcc")
  2. .filter(".middle")
  3. .css("border-color", "red");

亲自试一试

定义和用法

filter() 方法将匹配元素集合缩减为匹配指定选择器的元素。

语法

</>code

  1. .filter(selector)
参数 描述
selector 字符串值,包含供匹配当前元素集合的选择器表达式。

详细说明

如果给定表示 DOM 元素集合的 jQuery 对象,.filter() 方法会用匹配元素的子集构造一个新的 jQuery 对象。所使用的选择器会测试每个元素;所有匹配该选择器的元素都会包含在结果中。

请思考下面这个拥有简单列表的页面:

</>code

  1. <ul>
  2. <li>list item 1</li>
  3. <li>list item 2</li>
  4. <li>list item 3</li>
  5. <li>list item 4</li>
  6. <li>list item 5</li>
  7. <li>list item 6</li>
  8. </ul>

我们可以向这个列表项集合应用该方法:

</>code

  1. $('li').filter(':even').css('background-color', 'red');

亲自试一试

此调用的结果是将项目 1, 3, 5 的背景设置为红色,这是因为它们都匹配选择器(回忆一下,:even 和 :odd 均使用基于 0 的 index)。

使用过滤函数

使用该方法的第二个形式是,通过函数而不是选择器来筛选元素。对于每个元素,如果该函数返回 true,则元素会被包含在已筛选集合中;否则,会排除这个元素。

请看下面这段稍显复杂的 HTML 片段:

</>code

  1. <ul>
  2. <li><strong>list</strong> item 1 - one strong tag</li>
  3. <li><strong>list</strong> item <strong>2</strong>
  4. - two <span>strong tags</span></li>
  5. <li>list item 3</li>
  6. <li>list item 4</li>
  7. <li>list item 5</li>
  8. <li>list item 6</li>
  9. </ul>

我们可以选取这些列表项,然后基于其内容来筛选它们:

</>code

  1. $('li').filter(function(index) {
  2. return $('strong', this).length == 1;
  3. }).css('background-color', 'red');

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (270人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------
jQuery 教程目录

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号