jquery 过滤器
jQuery 过滤器概述
jQuery 过滤器用于从匹配的元素集合中筛选出符合条件的子集,通常结合选择器或遍历方法使用。常见的过滤器包括基本过滤器、内容过滤器、可见性过滤器等。
基本过滤器
通过位置或条件筛选元素:
:first:选取第一个元素。$("div:first").css("color", "red");:last:选取最后一个元素。:even/:odd:选取偶数或奇数索引元素(索引从 0 开始)。:eq(n):选取索引为n的元素。$("li:eq(2)").hide(); // 隐藏第三个 li:gt(n)/:lt(n):选取索引大于或小于n的元素。
内容过滤器
根据元素内容或子元素筛选:
:contains(text):选取包含指定文本的元素。$("p:contains('Hello')").addClass("highlight");:has(selector):选取包含匹配子元素的元素。$("div:has(p)").css("border", "1px solid black");:empty:选取无子元素或文本的空元素。:parent:选取包含子元素或文本的非空元素。
可见性过滤器
根据元素的可见状态筛选:
:visible:选取可见元素(非display:none或隐藏父元素)。$("div:visible").fadeOut();:hidden:选取隐藏元素(包括type="hidden"的表单元素)。
属性过滤器
通过属性值筛选元素:
[attribute]:选取包含指定属性的元素。$("input[type='text']").val("Default");[attribute=value]:选取属性值等于value的元素。[attribute!=value]:选取属性值不等于value的元素。
表单过滤器
针对表单元素的专用过滤器:
:input:选取所有input、textarea、select和button元素。:checked:选取被选中的复选框或单选按钮。$("input:checked").closest("form").submit();:selected:选取被选中的option元素。
子元素过滤器
通过父元素中的位置筛选:
:nth-child(n):选取父元素下第n个子元素(从 1 开始计数)。$("ul li:nth-child(2)").css("font-weight", "bold");:first-child/:last-child:选取父元素下的第一个或最后一个子元素。
组合使用示例
过滤器可与其他 jQuery 方法链式调用:
$("tr:even").addClass("striped").find("td:gt(0)").hide();
此代码为偶数行表格添加样式,并隐藏这些行中索引大于 0 的单元格。

通过灵活组合过滤器,能高效实现复杂的 DOM 操作与数据筛选。






