### jQuery知识点总结 #### 一、简介与基本用法 jQuery 是一款轻量级的 JavaScript 库,极大地简化了 HTML 文档遍历、事件处理、动画以及 Ajax 交互等操作。它采用直观的语法,使得开发者能够快速地完成网页开发工作。 **1.1 基本选择器** - **ID 选择器**:通过 `$("#id")` 来获取具有指定 ID 的元素。 - **类选择器**:通过 `$(".className")` 来获取具有指定类名的所有元素。 - **标签选择器**:通过 `$("tagName")` 来获取页面中所有的特定标签元素。 - **通用选择器**:通过 `$("*")` 来获取文档中的所有元素。 **1.2 DOM 操作** - **获取/设置元素内容**:`$("#foo").html()` 和 `$("#foo").html("<b>Hello World!</b>")` 可以用来获取或设置元素的内容。 - **属性操作**:`$("#foo").attr("title")` 获取属性值,`$("#foo").attr("title", "new value")` 设置属性值。 - **添加/删除 CSS 类**:`$("#foo").addClass("newClass")` 添加 CSS 类,`$("#foo").removeClass("oldClass")` 删除 CSS 类。 - **CSS 属性操作**:`$("#foo").css("color", "red")` 设置 CSS 属性,`$("#foo").css("color")` 获取 CSS 属性。 **1.3 事件处理** - **绑定事件**:`$("#foo").click(function() { alert("Clicked!"); })` 绑定 click 事件。 - **触发事件**:`$("#foo").trigger("click")` 触发 click 事件。 - **解除事件绑定**:`$("#foo").off("click")` 解除 click 事件绑定。 **1.4 AJAX 请求** - **基本 AJAX 请求**:`$.ajax({ url: "example.php", type: "GET", success: function(data) { console.log(data); } })` 发送 AJAX 请求。 - **简化 AJAX 请求**:`$.get("example.php", function(data) { console.log(data); })` 使用 $.get 方法简化请求。 #### 二、高级选择器 jQuery 提供了一系列强大的选择器来帮助开发者更加灵活地选择页面元素: **2.1 复合选择器** - **并集选择器**:`$("span, #two")` 选取 `<span>` 元素和 ID 为 two 的元素。 - **后代选择器**:`$("body div")` 选取 `<body>` 中的所有 `<div>` 元素。 - **子代选择器**:`$("body > div")` 选取 `<body>` 的直接子元素 `<div>`。 - **相邻兄弟选择器**:`$(".one + div")` 选取 class 为 one 的元素后面紧邻的 `<div>` 元素。 - **普通兄弟选择器**:`$("#two ~ div")` 选取 ID 为 two 的元素后面的 `<div>` 元素。 **2.2 过滤选择器** - **隐藏元素**:`$("div:hidden")` 选取隐藏的 `<div>` 元素。 - **可见性过滤**:`$("div:visible")` 选取可见的 `<div>` 元素。 - **第一个子元素**:`$("div:first-child")` 选取每个父元素的第一个 `<div>` 子元素。 - **最后一个子元素**:`$("div:last-child")` 选取每个父元素的最后一个 `<div>` 子元素。 - **偶数项**:`$("input:even")` 选取索引为偶数的 `<input>` 元素。 - **奇数项**:`$("input:odd")` 选取索引为奇数的 `<input>` 元素。 - **索引等于**:`$("input:eq(1)")` 选取索引为 1 的 `<input>` 元素。 - **索引大于**:`$("input:gt(1)")` 选取索引大于 1 的 `<input>` 元素。 - **索引小于**:`$("input:lt(1)")` 选取索引小于 1 的 `<input>` 元素。 **2.3 属性选择器** - **包含属性**:`$("[class]")` 选取具有 class 属性的所有元素。 - **属性值相等**:`$("[class='value']")` 选取 class 属性值为 value 的所有元素。 - **属性值不等于**:`$("[class!='value']")` 选取 class 属性值不等于 value 的所有元素。 - **属性值包含特定文本**:`$("[class^='value']")` 选取 class 属性值以 value 开头的所有元素。 - **属性值以特定文本结尾**:`$("[class$='value']")` 选取 class 属性值以 value 结尾的所有元素。 - **属性值包含特定文本**:`$("[class*=value]")` 选取 class 属性值包含 value 的所有元素。 #### 三、动画效果 jQuery 提供了丰富的动画效果支持: **3.1 显示与隐藏** - **显示元素**:`$("p").show()` 显示隐藏的元素。 - **隐藏元素**:`$("p").hide()` 隐藏元素。 - **淡入效果**:`$("p").fadeIn()` 使元素淡入。 - **淡出效果**:`$("p").fadeOut()` 使元素淡出。 **3.2 动画** - **自定义动画**:`$("p").animate({ opacity: 0.5 }, 1000)` 改变元素的透明度。 - **链式动画**:`$("p").slideUp().slideDown()` 执行多个动画效果。 **3.3 动画队列** - **排队动画**:默认情况下,动画是按照顺序执行的。 - **取消动画队列**:`$("p").stop()` 取消正在执行的动画队列。 - **清除所有动画队列**:`$("p").stop(true, true)` 清除当前元素的所有动画队列。 #### 四、事件处理 除了基本的事件绑定外,jQuery 还提供了更复杂的事件处理机制: **4.1 事件委托** - **事件委托**:`$("body").on("click", "#foo", function() { alert("Clicked!"); })` 将 click 事件绑定到动态创建的元素上。 **4.2 特殊事件** - **键盘事件**:`$("input").keydown(function(event) { if (event.keyCode == 13) { alert("Enter pressed!"); } })` 监听键盘事件。 - **鼠标事件**:`$("img").hover(function() { $(this).fadeTo("slow", 0.5); }, function() { $(this).fadeTo("slow", 1); })` 监听鼠标悬停事件。 **4.3 事件对象** - **事件对象**:通过事件处理函数中的 event 对象可以获取关于事件的详细信息。 - **阻止默认行为**:`event.preventDefault()` 阻止事件的默认行为。 - **停止事件传播**:`event.stopPropagation()` 阻止事件向上冒泡。 #### 五、插件开发 jQuery 提供了一个简单的插件架构,允许开发者轻松扩展其功能: **5.1 插件编写** - **基本插件**:通过扩展 jQuery 函数来实现。 - **多方法插件**:实现一个具有多个方法的插件。 - **选项配置**:提供配置参数来自定义插件的行为。 **5.2 使用插件** - **调用插件**:通过 `$().pluginMethod()` 调用插件。 - **插件链式调用**:多个插件可以链式调用。 通过以上介绍,我们对 jQuery 的基本概念有了深入的理解,掌握了如何使用 jQuery 进行高效的 Web 开发。无论是选择元素、操作 DOM、处理事件还是实现动画效果,jQuery 都能够提供强大的支持。
- 粉丝: 0
- 资源: 20
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助