jQuery 语法
jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。
基础语法是:$(selector).action()
- 美元符号定义 jQuery
- 选择符(selector)“查询”和“查找” HTML 元素
- jQuery 的 action() 执行对元素的操作
示例
$(this).hide() - 隐藏当前元素
$("p").hide() - 隐藏所有段落
$(".test").hide() - 隐藏所有 class="test" 的所有元素
$("#test").hide() - 隐藏所有 id="test" 的元素
文档就绪函数
您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中:
$(document).ready(function(){--- jQuery functions go here ----});
这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码。
如果在文档没有完全加载之前就运行函数,操作可能失败。下面是两个具体的例子:
- 试图隐藏一个不存在的元素
- 获得未完全加载的图像的大小
jQuery 选择器
选择器允许您对元素组或单个元素进行操作。
一、jQuery 选择器
在前面的章节中,我们展示了一些有关如何选取 HTML 元素的实例。
关键点是学习 jQuery 选择器是如何准确地选取您希望应用效果的元素。
jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对 HTML 元素进行选择。
选择器允许您对 HTML 元素组或单个元素进行操作。
在 HTML DOM 术语中:
选择器允许您对 DOM 元素组或单个 DOM 节点进行操作。
二、jQuery 元素选择器
jQuery 使用 CSS 选择器来选取 HTML 元素。
$("p") 选取 <p> 元素。
$("p.intro") 选取所有 class="intro" 的 <p> 元素。
$("p#demo") 选取所有 id="demo" 的 <p> 元素。
三、jQuery 属性选择器
jQuery 使用 XPath 表达式来选择带有给定属性的元素。
$("[href]") 选取所有带有 href 属性的元素。
$("[href='#']") 选取所有带有 href 值等于 "#" 的元素。
$("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。
$("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。
四、jQuery CSS 选择器
jQuery CSS 选择器可用于改变 HTML 元素的 CSS 属性。
下面的例子把所有 p 元素的背景颜色更改为红色:
实例
$("p").css("background-color","red");
五、更多的选择器实例
选择器 | 实例 | 选取 |
---|---|---|
$("*") | 所有元素 | |
$("#lastname") | id="lastname" 的元素 | |
$(".intro") | 所有 class="intro" 的元素 | |
$("p") | 所有 <p> 元素 | |
.class.class | $(".intro.demo") | 所有 class="intro" 且 class="demo" 的元素 |
$("p:first") | 第一个 <p> 元素 | |
$("p:last") | 最后一个 <p> 元素 | |
$("tr:even") | 所有偶数 <tr> 元素 | |
$("tr:odd") | 所有奇数 <tr> 元素 | |
$("ul li:eq(3)") | 列表中的第四个元素(index 从 0 开始) | |
$("ul li:gt(3)") | 列出 index 大于 3 的元素 | |
$("ul li:lt(3)") | 列出 index 小于 3 的元素 | |
:not(selector) | $("input:not(:empty)") | 所有不为空的 input 元素 |
$(":header") | 所有标题元素 <h1> - <h6> | |
所有动画元素 | ||
$(":contains('W3School')") | 包含指定字符串的所有元素 | |
$(":empty") | 无子(元素)节点的所有元素 | |
:hidden | $("p:hidden") | 所有隐藏的 <p> 元素 |
$("table:visible") | 所有可见的表格 | |
s1,s2,s3 | $("th,td,.intro") | 所有带有匹配选择的元素 |
$("[href]") | 所有带有 href 属性的元素 | |
$("[href='#']") | 所有 href 属性的值等于 "#" 的元素 | |
$("[href!='#']") | 所有 href 属性的值不等于 "#" 的元素 | |
$("[href$='.jpg']") | 所有 href 属性的值包含以 ".jpg" 结尾的元素 | |
$(":input") | 所有 <input> 元素 | |
:text | $(":text") | 所有 type="text" 的 <input> 元素 |
$(":password") | 所有 type="password" 的 <input> 元素 | |
$(":radio") | 所有 type="radio" 的 <input> 元素 | |
$(":checkbox") | 所有 type="checkbox" 的 <input> 元素 | |
$(":submit") | 所有 type="submit" 的 <input> 元素 | |
$(":reset") | 所有 type="reset" 的 <input> 元素 | |
$(":button") | 所有 type="button" 的 <input> 元素 | |
$(":image") | 所有 type="image" 的 <input> 元素 | |
$(":file") | 所有 type="file" 的 <input> 元素 | |
$(":enabled") | 所有激活的 input 元素 | |
$(":disabled") | 所有禁用的 input 元素 | |
$(":selected") | 所有被选取的 input 元素 | |
$(":checked") | 所有被选中的 input 元素 |
jQuery - 事件
jQuery 事件方法
事件方法会触发匹配元素的事件,或将函数绑定到所有匹配元素的某个事件。
触发实例:
$("button#demo").click()
上面的例子将触发 id="demo" 的 button 元素的 click 事件。
绑定实例:
$("button#demo").click(function(){$("img").hide()})
上面的例子会在点击 id="demo" 的按钮时隐藏所有图像。
方法 | 描述 |
---|---|
向匹配元素附加一个或更多事件处理器 | |
触发、或将函数绑定到指定元素的 blur 事件 | |
触发、或将函数绑定到指定元素的 change 事件 | |
触发、或将函数绑定到指定元素的 click 事件 | |
触发、或将函数绑定到指定元素的 double click 事件 | |
向匹配元素的当前或未来的子元素附加一个或多个事件处理器 | |
移除所有通过 live() 函数添加的事件处理程序。 | |
触发、或将函数绑定到指定元素的 error 事件 | |
返回 event 对象上是否调用了 event.preventDefault()。 | |
相对于文档左边缘的鼠标位置。 | |
相对于文档上边缘的鼠标位置。 | |
阻止事件的默认动作。 | |
包含由被指定事件触发的事件处理器返回的最后一个值。 | |
触发该事件的 DOM 元素。 | |
该属性返回从 1970 年 1 月 1 日到事件发生时的毫秒数。 | |
描述事件的类型。 | |
指示按了哪个键或按钮。 | |
触发、或将函数绑定到指定元素的 focus 事件 | |
触发、或将函数绑定到指定元素的 key down 事件 | |
触发、或将函数绑定到指定元素的 key press 事件 | |
触发、或将函数绑定到指定元素的 key up 事件 | |
为当前或未来的匹配元素添加一个或多个事件处理器 | |
触发、或将函数绑定到指定元素的 load 事件 | |
触发、或将函数绑定到指定元素的 mouse down 事件 | |
触发、或将函数绑定到指定元素的 mouse enter 事件 | |
触发、或将函数绑定到指定元素的 mouse leave 事件 | |
触发、或将函数绑定到指定元素的 mouse move 事件 | |
触发、或将函数绑定到指定元素的 mouse out 事件 | |
触发、或将函数绑定到指定元素的 mouse over 事件 | |
触发、或将函数绑定到指定元素的 mouse up 事件 | |
向匹配元素添加事件处理器。每个元素只能触发一次该处理器。 | |
文档就绪事件(当 HTML 文档就绪可用时) | |
触发、或将函数绑定到指定元素的 resize 事件 | |
触发、或将函数绑定到指定元素的 scroll 事件 | |
触发、或将函数绑定到指定元素的 select 事件 | |
触发、或将函数绑定到指定元素的 submit 事件 | |
绑定两个或多个事件处理器函数,当发生轮流的 click 事件时执行。 | |
所有匹配元素的指定事件 | |
第一个被匹配元素的指定事件 | |
从匹配元素移除一个被添加的事件处理器 | |
从匹配元素移除一个被添加的事件处理器,现在或将来 | |
触发、或将函数绑定到指定元素的 unload 事件 |