1、选择器
jQuery 选择器允许对 HTML 元素组或单个元素进行操作。
jQuery 选择器基于元素的 id、类、类型、属性、属性值等查找(或选择)HTML 元素。 它基于已经存在的CSS 选择器,除此之外,它还有一些自定义的选择器。
jQuery 中所有选择器都以美元符号开头:$()。
(1) 元素选择器
jQuery 元素选择器基于元素名选取元素。如:
$("p")
在页面中选取所有<p>元素
(2) id 选择器
jQuery #id 选择器通过 HTML 元素的 id 属性选取指定的元素。
页面中元素的 id 应该是唯一的,所以在页面中选取唯一的元素需要通过 #id 选择器。如:
$("#test")
(3) class 选择器
jQuery 类选择器可以通过指定的 class 查找元素。如:
$(".test")
2、事件处理
在 jQuery 中,大多数 DOM 事件都有一个等效的 jQuery 方法。
页面中指定一个点击事件:
$("p").click();
下一步是定义什么时间触发事件。可以通过一个事件函数实现:
$("p").click(function(){ // 动作触发后执行的代码!! });
常用的 jQuery 事件方法
(1) $(document).ready():在文档完全加载完后执行函数。
(2) click() :当按钮点击事件被触发时会调用一个函数。该函数在用户点击 HTML 元素时执行。
在下面的实例中,当点击事件在某个元素上触发时,隐藏当前的元素:
$("p").click(function(){ $(this).hide(); });
(3) dblclick():当双击元素时,会发生 dblclick 事件。
dblclick() 方法触发 dblclick 事件,或规定当发生 dblclick 事件时运行的函数:
$("p").dblclick(function(){ $(this).hide(); });
(4) mouseenter():当鼠标指针穿过元素时,会发生 mouseenter 事件。
mouseenter() 方法触发 mouseenter 事件,或规定当发生 mouseenter 事件时运行的函数。
$("#p1").mouseenter(function(){ alert("You entered p1!"); });
(5) mouseleave():当鼠标指针离开元素时,会发生 mouseleave 事件。
mouseleave() 方法触发 mouseleave 事件,或规定当发生 mouseleave 事件时运行的函数:
$("#p1").mouseleave(function(){ alert("Bye! You now leave p1!"); });
(6) mousedown():当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件。
mousedown() 方法触发 mousedown 事件,或规定当发生 mousedown 事件时运行的函数:
$("#p1").mousedown(function(){ alert("Mouse down over p1!"); });
(7) mouseup():当在元素上松开鼠标按钮时,会发生 mouseup 事件。
方法触发 mouseup 事件,或规定当发生 mouseup 事件时运行的函数:
$("#p1").mouseup(function(){ alert("Mouse up over p1!"); });
(8) hover():hover()方法用于模拟光标悬停事件。
当鼠标移动到元素上时,会触发指定的第一个函数(mouseenter);当鼠标移出这个元素时,会触发指定的第二个函数(mouseleave)。
$("#p1").hover(function(){ alert("You entered p1!"); }, function(){ alert("Bye! You now leave p1!"); });
(9) focus():当元素获得焦点时,发生focus事件。
当通过鼠标点击选中元素或通过tab键定位到元素时,该元素就会获得焦点。
focus()方法触发 focus 事件,或规定当发生focus事件时运行的函数。
$("input").focus(function(){ $(this).css("background-color","#cccccc"); });
(10) blur()
当元素失去焦点时,发生 blur 事件。
blur() 方法触发 blur 事件,或规定当发生 blur 事件时运行的函数:
$("input").blur(function(){ $(this).css("background-color","#ffffff"); });