jquery过滤器
jQuery 过滤器概述
jQuery 过滤器用于从匹配的元素集合中筛选出特定子集,通常结合选择器或遍历方法使用。常见的过滤器包括基本过滤器、内容过滤器、可见性过滤器等。
基本过滤器
:first 选择第一个匹配元素:
$("div:first").css("color", "red");
:last 选择最后一个匹配元素:
$("div:last").hide();
:even 和 :odd 选择偶数或奇数索引元素:
$("tr:even").addClass("highlight");
:eq(index) 选择指定索引位置的元素(从0开始):
$("li:eq(2)").text("Third Item");
内容过滤器
:contains(text) 选择包含指定文本的元素:
$("p:contains('Hello')").addClass("match");
:empty 选择没有子元素的元素:
$("div:empty").append("<span>Empty!</span>");
:has(selector) 选择包含特定子元素的元素:

$("div:has(p)").css("border", "1px solid red");
可见性过滤器
:visible 选择当前可见的元素:
$("input:visible").val("Visible Field");
:hidden 选择隐藏的元素(包括 display: none 或 type="hidden"):
$("form:hidden").show();
属性过滤器
[attribute] 选择具有指定属性的元素:
$("a[target]").css("color", "blue");
[attribute=value] 选择属性值完全匹配的元素:
$("input[type='text']").addClass("text-input");
子元素过滤器
:nth-child(n) 选择父元素下的第n个子元素:

$("ul li:nth-child(2)").text("Second Item");
:first-child 和 :last-child 选择第一个或最后一个子元素:
$("div p:first-child").css("font-weight", "bold");
表单过滤器
:input 选择所有表单元素(包括 input、select、textarea 等):
$(":input").addClass("form-control");
:checked 选择被选中的复选框或单选按钮:
$("input:checked").val("Selected");
:disabled 和 :enabled 选择禁用或启用的表单元素:
$("input:disabled").attr("placeholder", "Disabled");
组合使用示例
过滤器可与其他选择器组合,实现更精确的筛选:
$("table tr:visible:even").addClass("striped");
注意事项
- 部分过滤器如
:visible依赖元素的布局状态,需确保DOM加载完成后再执行。 - 过度使用复杂过滤器可能影响性能,建议优先使用ID或类选择器。






