jQuery 是一个快速、小巧且功能丰富的 JavaScript 库,使 HTML 文档遍历与操作、事件处理、动画及 Ajax 简化统筹在一个易于使用的 API 中。它以其兼容性和简洁性而闻名,其中选择器是 jQuery 最常用、最基础的组件之一。
jQuery 选择器用于选取和操作 HTML 元素,这种实现方法是模仿 CSS 选择器,并且添加了更丰富的功能。通过选择器,我们可以选取单个或多个 DOM 元素,然后对其进行一系列操作,例如更改内容、样式,甚至绑定事件。
元素选择器:
通过元素名来选择。如 $("p")
会选择所有的 <p>
元素。这个选择器对应的是 CSS 中的元素选择器。
ID选择器:
使用元素的 ID 属性选择元素,这类似于 CSS 中的 ID 选择器。语法是 $("#my-id")
,这将选择 ID 为 my-id
的元素。由于 ID 在 HTML 文档中应该是*的,这个选择器通常只会匹配一个元素。
类选择器:
类选择器用于选择拥有特定类的元素,使用语法 $(".my-class")
。这一选择器可以匹配多个元素,并且它常用于一些在页面上需要统一格式或行为的元素中。
jQuery 的层次选择器允许开发者选择基于其在 DOM 树中相对位置的元素。
后代选择器:
选择的是一个元素内的所有指定后代元素,以空格分隔。例如 $("ul li")
将选择所有位于 <ul>
之下的 <li>
元素。
子选择器:
仅选择其直接子元素。以 >
符号作为分隔符,如 $("ul > li")
,只选择那些作为 <ul>
直接子元素的 <li>
。
邻接兄弟选择器:
选择某个元素后面的紧邻兄弟元素,使用 +
符号。例如 $("h1 + p")
,选择那些紧随在 <h1>
元素后的*个 <p>
元素。
一般兄弟选择器:
选择某元素后的所有兄弟元素,使用 ~
符号($("h1 ~ p")
)。
jQuery 支持通过元素属性选择的方式:
存在属性选择器:
使用 [attribute]
语法选择拥有指定属性的元素,比如 [href]
会选择所有带有 href
属性的元素。
等于属性选择器:
采用 [attribute=value]
语法,选择属性值等于指定值的元素,如 [type="text"]
选择所有 type
属性为 text
的输入框。
包含属性选择器:
[attribute*=value]
选择那些属性值包含指定子串的元素。例如,[title*="hello"]
将选择 title 属性包含 “hello” 子串的元素。
属性选择符集合:
jQuery 提供了几个复杂的属性选择符,如以某值开头、结尾或包含的属性选择符:^=
, $=
, |=
等,对元素属性进行更细化更灵活的匹配。
这些选择器基于元素的内容进行匹配:
:empty:选择没有子元素,包括文本节点的元素。
:contains(text):选择包含特定文本的元素。
这些选择器用于选择可见或不可见的元素:
display:none
和 visibility:hidden
。jQuery 针对表单元素提供了一些特殊选择器:
:input:匹配所有输入控件,即包含 <input>
、<select>
、<textarea>
和 <button>
。
:text、:checkbox
、:radio
等,通过类型选择元素。
:checked:匹配所有选中的复选框或单选按钮。
:selected:匹配所有被选择的选项(option)。
:focus:匹配当前具有焦点的元素。
jQuery 不仅提供了丰富的内建选择器,还允许开发者通过插件或者手动定义新的选择器,这使得其使用范围和灵活性更大。如结合.filter()
和 .not()
等方法,能够实现更加复杂的条件筛选。
jQuery 选择器是一个强大且简单的工具, 提供了丰富的方法来选择网页中的任意元素。掌握 jQuery 选择器可以极大提高开发效率,其编码更简洁,读取更直观,执行更高效。无论是简单的选择还是复杂的逻辑,jQuery 总能提供优雅的解决方案来帮助我们更好地与网页互动。通过不断练习与项目实践,您将会更加灵活地运用这些选择器,并结合 jQuery 的其他功能打造出色的用户界面和交互体验。