jquery有哪些选择器:全覆盖可直接上手的实用分类与用法

jquery有哪些选择器:全覆盖可直接上手的实用分类与用法

jQuery选择器主要分为基础、层级、过滤、属性、表单五大核心类型,所有选择器均支持直接匹配DOM元素,你可以直接通过对应语法精准选取页面元素,无需复杂循环遍历,其中基础选择器适配90%常规页面选取场景,层级选择器处理元素嵌套选取,过滤选择器实现精准筛选,属性选择器匹配自定义标签属性,表单选择器专门适配表单控件,各类选择器语法简洁、兼容性强,是jQuery操作DOM的核心基础。

基础选择器:最通用的核心选取方式

基础选择器是你使用频率最高的jQuery选择器,包含标签、ID、类、通配符四种,适配绝大多数基础选取需求。ID选择器语法为#id名,具备唯一匹配特性,执行速度最快,优先用于选取页面唯一元素,比如$("#box")可精准选取id为box的元素。类选择器语法是.类名,支持多元素批量匹配,$(".item")会选中所有带有item类名的标签。标签选择器直接书写标签名,$("div")能选取页面全部div标签。通配符选择器*可以匹配页面所有DOM元素,仅适合全局样式重置、批量清空等特殊场景,日常开发不建议频繁使用,性能损耗较高。

层级选择器:精准匹配嵌套关联元素

层级选择器专门用于处理存在嵌套、相邻、从属关系的页面元素,解决基础选择器无法精准筛选嵌套节点的问题。后代选择器用空格分隔前后选择器,$("divp")会选取所有div内部的所有p标签,不限嵌套层级。子选择器使用>符号,$("div>p")仅匹配div的直接子级p标签,不会选取深层嵌套的p元素。相邻兄弟选择器用+号,$(".active+div")能选中active类元素紧邻的下一个同级div元素。通用兄弟选择器用~符号,$(".active~div")可匹配当前元素之后所有同级的div元素,不受相邻限制。

过滤选择器:快速筛选符合条件元素

过滤选择器无需编写原生JS判断逻辑,可直接通过后缀语法筛选指定位置、状态的元素,大幅简化筛选代码。这类选择器统一加在基础选择器后方使用,常见实用语法包含:first选取匹配结果第一个元素、:last选取最后一个元素、:eq(索引)精准匹配指定索引元素(索引从0开始)、:odd匹配奇数位元素、:even匹配偶数位元素。需要注意一个常见错误写法,若你直接书写$("div:eq(0)")虽能生效,但批量筛选大量元素时性能偏低,最优写法是先基础选取再过滤,执行效率提升30%以上。

属性选择器:依据标签属性精准匹配

属性选择器依托HTML标签自带属性或自定义属性选取元素,适合筛选带特定属性、属性值的标签,适配自定义业务场景。

  • [attr]:匹配拥有指定属性的所有元素
  • [attr=value]:精准匹配属性值完全一致的元素
  • [attr!=value]:匹配属性值不等于指定值的元素
  • [attr^=value]:匹配属性值以指定内容开头的元素
  • [attr$=value]:匹配属性值以指定内容结尾的元素
  • [attr*=value]:匹配属性值包含指定内容的元素

表单选择器:专属表单控件的快捷选取方案

表单选择器是jQuery专属快捷选择器,无需区分表单标签类型,可直接匹配所有表单交互控件,专门用于表单数据获取、状态修改场景。核心语法简洁好记,:input可匹配页面所有表单控件,包含input、textarea、select、button等标签,区别于原生只匹配input标签的写法。:text、:password、:checkbox、:radio分别对应文本框、密码框、复选框、单选框。同时支持状态筛选,:checked匹配所有选中的单选、复选元素,:selected匹配下拉框选中项,:disabled匹配禁用状态的表单控件。

所有jQuery选择器的核心适用限制需要明确,各类选择器仅能匹配页面初始加载完成的静态元素,动态通过JS新增的DOM元素,无法通过普通选择器直接选取,必须搭配事件委托才能实现动态元素的精准操作,这是开发中最容易忽略的适配条件。

了解更多百科知识请访问 百科