"jQuery是JavaScript库,用于简化HTML文档遍历、事件处理、动画制作和Ajax交互。本资源主要涵盖jQuery的第二日学习内容,包括jQuery的语法、选择器、属性和CSS操作、文档处理以及筛选功能。"
在jQuery中,语法通常采用"$"符号作为快捷方式来创建jQuery对象。三种基本的jQuery构造方法包括:
1. 通过选择器选取DOM元素,如`$("选择器")`。
2. 直接传入DOM对象,如`$(dom对象)`。
3. 创建新的HTML元素,如`$("<div>")`。
jQuery的选择器极其强大,能够精确地选取需要的元素:
1. 基本选择器:通过ID(#id)、元素类型(element)、类(.class)和通配符(*)进行选取。
2. 层级选择器:利用父元素和子元素的关系,如AB(后代)、A>B(子元素)、A+B(相邻兄弟)、A~B(后续兄弟)。
3. 过滤选择器:用于进一步细化选取,如`:first`, `:last`, `:eq(index)`, `:gt(index)`, `:lt(index)`, `:even`, `:odd`, `:header`, `:animated`, `:focus`等。
4. 内容过滤选择器:`:contains()`, `:empty`, `:parent`, `:has()`用于根据元素内容或子元素情况选取。
5. 可见性过滤选择器:`:visible`和`:hidden`选取可见或不可见元素。
6. 属性选择器:通过属性值来选取,如`[attr]`, `[attr=val]`, `[attr!=val]`, `[attr^=val]`, `[attr$=val]`, `[attr*=val]`等。
7. 子元素过滤选择器:`:nth-child()`, `:first-child`, `:last-child`, `:only-child`选取特定位置的子元素。
8. 表单过滤选择器:`:input`选取所有表单元素,还可进一步细化为`:text`, `:password`, `:radio`, `:checkbox`, `:file`, `:submit`, `:reset`, `:image`, `:button`, `:hidden`等。
9. 表单对象属性过滤器:`:enabled`, `:disabled`, `:checked`, `:selected`选取具有特定状态的表单元素。
对于属性和CSS操作,jQuery提供了以下方法:
1. `attr()`和`removeAttr()`用于获取或设置元素的属性。
2. `addClass()`, `removeClass()`, 和 `toggleClass()`用于添加、移除或切换CSS类。
3. `val()`用于获取或设置表单元素的值。
4. `html()`, `text()`分别用于获取或设置元素的HTML内容和纯文本内容。
5. `css()`用于获取或设置CSS样式,包括行内样式和计算样式。
6. `offset()`, `scrollTop()`, `scrollLeft()`, `width()`, `height()`分别用于获取或设置元素的偏移位置、滚动条位置和尺寸。
在文档处理方面,jQuery提供了以下功能:
1. 内部操作:`append()`, `prepend()`, `appendTo()`, `prependTo()`用于在元素内部添加内容。
2. 外部操作:`after()`, `before()`, `insertAfter()`, `insertBefore()`用于在元素前后插入内容。
3. 删除操作:`empty()`, `remove()`, `detach()`,`data()`用于清空元素内容、移除元素或保存与元素相关的数据。
4. 复制操作:`clone(true)`用于复制元素及其关联事件。
5. 替换操作:`replaceWith()`, `replaceAll()`用于替换元素。
6. 包裹操作:`wrap()`, `wrapAll()`, `wrapInner()`, `unwrap()`用于元素的包裹和解包。
筛选功能允许更精细的操作:
- `first()`方法用于获取匹配选择器的第一个元素,与选择器`:first`类似但有微妙区别。
- `eq(index|-index)`用于选取索引位置的元素,正数表示从头开始,负数表示从尾部开始。
jQuery day02的学习内容涵盖了jQuery的核心操作,为开发者提供了丰富的DOM操作和事件处理工具,极大地提高了JavaScript的开发效率。通过深入理解和熟练运用这些知识点,开发者可以更加高效地构建动态、交互丰富的网页应用。