通过jQuery可以选取(查询,query)HTML中的元素,并对这些元素执行操作(actions)。
jQuery的语法
jQuery语法是为HTML元素的选取编制的,可以对元素执行某些操作。
基础语法是:$(selector).action()
- 美元符号定义jQuery
- 选择符(selector)“查询”和“查找”HTML元素
- jQuery的action()执行对元素的操作
示例
$(this).hide() - 隐藏当前元素
$("p").hide() - 隐藏所有的段落
$(".test").hide() - 隐藏所有class=“test”的所有元素
$("#test").hide() - 隐藏所有id=“test”的元素
提示:jQuery使用的语法是XPath与CSS选择器语法的组合。
jQuery元素选择器
jQuery使用CSS选择器来选取HTML元素,常用的选择器实例如下:
语法 | 描述 |
---|---|
$(this) | 当前 HTML 元素 |
$("p") | 所有 <p> 元素 |
$("p.intro") | 所有 class="intro" 的 <p> 元素 |
$(".intro") | 所有 class="intro" 的元素 |
$("#intro") | id="intro" 的元素 |
$("ul li:first") | 每个 <ul> 的第一个 <li> 元素 |
$("[href$='.jpg']") | 所有带有以 ".jpg" 结尾的属性值的 href 属性 |
$("div#intro .head") | id="intro" 的 <div> 元素中的所有 class="head" 的元素 |
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");
文档就绪函数
所有的jQuery函数都位于一个document ready函数中,如下所示,这是为了防止文档在完全加载(就绪)之前运行jQuery代码。如果在文档没有完全加载之前就运行函数,操作可能失败。下面是两个具体的例子:
- 试图隐藏一个不存在的元素
- 获得未完全加载的图像的大小
$(document).ready(function(){
--- jQuery functions go here ----
});
jQuery事件函数
jQuery事件处理方法是jQuery中的核心函数。
事件处理程序指的是当HTML中发生某些事件时所调用的方法。
下面是jQuery中事件方法的一些例子:
Event 函数 | 绑定函数至 |
---|---|
$(document).ready(function) | 将函数绑定到文档的就绪事件(当文档完成加载时) |
$(selector).click(function) | 触发或将函数绑定到被选元素的点击事件 |
$(selector).dblclick(function) | 触发或将函数绑定到被选元素的双击事件 |
$(selector).focus(function) | 触发或将函数绑定到被选元素的获得焦点事件 |
$(selector).mouseover(function) | 触发或将函数绑定到被选元素的鼠标悬停事件 |
通常会把jQuery代码放到<head>部分的事件处理方法中,但是如果网站包含很多页面,并且希望jQuery函数容易维护,我们常常把jQuery函数放到一个独立的.js文件中。使用时通过src属性将其引入,如下实例:
<head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="my_jquery_functions.js"></script> </head>结论
由于jQuery是为处理HTML事件而特别设计的,那么我们如果遵循以下一些原则,会使我们的代码更容易维护:
- 把所有jQuery代码置于事件处理函数中
- 把所有事件处理函数置于文档就绪事件处理器中
- 把jQuery代码置于单独的.js文件中
- 如果存在名称冲突,则重命名jQuery库