在jQuery中,这部分基础语法十分关键,下面为你详细阐述:
$
符号的含义与作用$
是jQuery的核心标识符,本质上是一个函数。通过它,你可以快速调用jQuery提供的各种功能。例如,$(selector)
这种形式,$
函数接收一个选择器字符串作为参数,用于在文档中查找对应的元素,并将这些元素封装成一个jQuery对象返回。这使得对DOM元素的操作变得极为便捷,开发者无需再像原生JavaScript那样,繁琐地使用document.getElementById
、document.getElementsByTagName
等方法去获取元素。而且,通过$
创建的jQuery对象拥有一系列丰富的方法,用于执行各种操作,如元素的样式修改、事件绑定、动画效果添加等。
- 选择器的使用
- 基础选择器
- 标签选择器:通过HTML标签名来选取元素。例如,
$('p')
会选中文档中所有的<p>
标签元素,可用于统一修改段落的样式,如$('p').css('color','red')
,将所有段落文字颜色设置为红色。 - 类选择器:以点号(
.
)开头,后面紧跟类名。如$('.highlight')
,会选中所有具有highlight
类的元素,常用于对具有相同样式需求的一组元素进行操作,像$('.highlight').addClass('active')
,给这些元素添加active
类。 - ID选择器:以井号(
#
)开头,后跟唯一的ID值。$('#myElement')
只会选中文档中id
为myElement
的那个特定元素,非常适合对单个独特元素进行特定操作,如$('#myElement').hide()
隐藏该元素。 - 通配符选择器:使用
*
表示,$('*')
会选中文档中的所有元素,不过由于性能原因,实际使用中需谨慎,比如$('*').css('outline', '1px solid blue')
,会给所有元素加上蓝色的1像素边框。
- 标签选择器:通过HTML标签名来选取元素。例如,
- 层次选择器
- 子选择器:使用大于号(
>
),$('parent > child')
仅选择parent
元素的直接子元素child
。例如$('ul > li')
,会选中所有<ul>
列表下的直接<li>
子元素,而不会选中<ul>
下嵌套<ul>
里的<li>
。 - 后代选择器:使用空格分隔,
$('ancestor descendant')
会选择ancestor
元素的所有后代元素descendant
。比如$('div p')
,会选中<div>
元素内的所有<p>
元素,无论<p>
元素嵌套多深。 - 相邻兄弟选择器:用加号(
+
)表示,$('prev + next')
选择紧接在prev
元素后的next
元素。如$('h2 + p')
,会选中紧跟在<h2>
标签后的<p>
元素。 - 同辈选择器:使用波浪号(
~
),$('prev ~ siblings')
选择prev
元素之后的所有同层级的siblings
元素。例如$('h3 ~ p')
,会选中<h3>
标签之后同层级的所有<p>
元素。
- 子选择器:使用大于号(
- 过滤选择器
:first
:$('selector:first')
选取符合选择器的第一个元素。如$('li:first')
会选中所有<li>
元素中的第一个。:last
:$('selector:last')
选取符合选择器的最后一个元素。例如$('li:last')
会选中所有<li>
元素中的最后一个。:even
:$('selector:even')
选取符合选择器的偶数索引位置的元素(索引从0开始)。比如$('tr:even')
会选中表格中索引为偶数行的<tr>
元素。:odd
:$('selector:odd')
选取符合选择器的奇数索引位置的元素。如$('tr:odd')
会选中表格中索引为奇数行的<tr>
元素。:eq(index)
:$('selector:eq(index)')
选取符合选择器且索引等于index
的元素。例如$('li:eq(2)')
会选中所有<li>
元素中索引为2的那个元素。:gt(index)
:$('selector:gt(index)')
选取符合选择器且索引大于index
的元素。如$('li:gt(1)')
会选中所有<li>
元素中索引大于1的元素。:lt(index)
:$('selector:lt(index)')
选取符合选择器且索引小于index
的元素。例如$('li:lt(3)')
会选中所有<li>
元素中索引小于3的元素。
- 基础选择器
- 文档就绪函数
$(document).ready()
- 该函数用于确保在文档完全加载完成后才执行其中的代码。在网页加载过程中,当HTML文档被解析完毕,但外部资源(如图像、样式表、脚本等)可能还在加载时,
$(document).ready()
内的代码就会执行。这避免了在元素还未加载到DOM中时就尝试对其进行操作而导致的错误。其语法有几种常见形式:$(document).ready(function() { /* 代码 */ });
,在这个匿名函数内编写需要在文档就绪时执行的代码,比如$(document).ready(function() { $('h1').text('文档已就绪!'); });
,会将页面中第一个<h1>
元素的文本内容改为“文档已就绪!”。- 也可以简写成
$(function() { /* 代码 */ });
,效果与上述形式一致,这是一种更简洁的写法,例如$(function() { $('.button').click(function() { alert('按钮被点击了!'); }); });
,为所有具有button
类的元素绑定点击事件。
- 该函数用于确保在文档完全加载完成后才执行其中的代码。在网页加载过程中,当HTML文档被解析完毕,但外部资源(如图像、样式表、脚本等)可能还在加载时,
这些基本语法是深入学习和使用jQuery的基石,熟练掌握它们对于高效开发交互式网页至关重要。