Jquery 是一套脚本库,是JavaScript +Query的缩写,以强大的选择器为基础,选择查找DOM对象,包装成JQuery对象,然后对其进行操作(Jquey里面有提供很多函数和事件)。
1:提供了强大的功能函数:使用这些功能函数,能够帮助我们快速完成各种功能,而且会让我们的代码异常简洁。下面是一个例子,加一个单击(click)事件,您可以使用纯 JavaScript 代码和 DOM 脚本来实现,如 清单 1 所示。
清单 1. 没有使用 jQuery 的 DOM 脚本
var links = external_links.getElementsByTagName('a'); for (var i=0;i < links.length;i++) { var link = links.item(i); link.onclick = function() { return confirm('You are going to visit: ' + this.href); }; }
|
清单 2 显示了使用 jQuery 实现的相同的功能。
清单 2. 使用了 jQuery 的 DOM 脚本
$('a').click(function() { return confirm('You are going to visit: ' + this.href); }); |
$()
函数返回一个含有所有选择器匹配的元素的 jQuery 对象。jQuery 对象 类似于数组,但是它附带有大量特殊的 jQuery 函数。比方说,您可以通过调用 click
函数把 click 处理函数指定给 jQuery 对象中的所有元素。
2:简化了Ajax的开发。我们在登陆验证客户信息的时候,通常要把用户名和密码发送到后台,与数据库的数据进行验证,传统的Ajax写法相当的麻烦,而使用了JQuery使得开发Ajax十分的简单。
Eg:
$.get("../handler/UserLogin.ashx",{UserName:textValue},function(data){
$("#DivMsg").html(data);
});
3:忽略了浏览器的差异性。4:方便的对简单的动画开发。5:方便用户插件的开发。
jQuery 要和配合CSS才会发挥强大的效果。
一:选择器
JQuery最重要的是选择部分的知识,有了Jquery的选择器我们几乎可以获取页面上的任意的一个
或者一组对象,我们编写任何的任何的JavaScript的脚本都必须要先获取dom对象,JQuery选择器能彻底的改变我们平时获取对象的方式。
eg: var div = document.getElementByID("testDiv"); //获取Dom对象
var divs = document.getElementByTagName("div");//获取Dom集合
JQurey 对象是对Dom对象的扩充,在JQuery中,所有的对象的对象包括一个,还是一组都封装成一个JQuery 对象。
eg:
var JqueryObj = $("#testDiv");
JQuery对象包含丰富的的属性和方法,这些都是JQuery特有的。
在DOM编程中我们只能使用有限的函数根据ID或者TagName获取DOM对象。
在JQuery中完全不同,JQuery提供了异常强大的选择器用来帮助我们获取页面的的对象,并且是是以JQuery对象的形式返回。
eg:
//根据ID获取Jqury的对象
var JqueryObj = $("#testDiv");
最常用的有一下5个:
1:标签名: $(“p”) 取得文档中所有的段落,
2:ID: $(“#Some-ID”) 取得文档中对应的Some-ID ID的一个元素。
3:类: $(“.Some-Class”) 取得文档中class = Some-Clasee 的所有元素的集合。
4:CSS选择器:$(“table tr”) 根据CSS的选择器来选取元素。
5:html字符串:$(“<p></p>”).
jQuery有一个用来作为DOM快速载入的JavaScript的小函数,那就是Ready。它在页面加载完成之前执行。(也许和window.onload()能实现相同的效果,但当window.onload函数执行的时候,要说明的是所有的东西已经载入,包括图像和横幅等等,要知道教大的图片下载的速度会比较慢,用户必须等待大图片下载完毕才能看见window.onload()执行的代码结果,这样就花费了很长的等待时间,这个不是我们想要的。)
$(document).ready(fn):当DOM载入就绪可以查询和操纵时绑定一个要执行的函数。这个是事件模块中最重要的一个函数,因为它可以极大的提高WEB应用程序的响应速度,简单的说这个方法纯粹是对window.onload的替代方法,通过这个使用这个方法,可以在DOM载入就绪 能够读取并操纵立即调用你所绑定的函数。
$(document).ready(function(){
//你的代码
})
$(document)意思是说:获取这个网页文档对象(类似window.document),$(document).ready意思就是说,获取文档对象就绪的时候,也就是说检查文档对象直至它能够允许被操作了。
Demo1 :选择器
初了上面说的几个最基础的选择器外,jQuery还提供了其他很强大的选择器。我觉得jQuery最强大的就是它的选择器了,可以很方便的找出你要操作的DOM对象。掌握了jQuery的选择器+jQuery提供的函数,你就掌握了jQuery.这些选择器的用法在API帮助中都有。
层叠选择器:
$("form input") 选择所有的form元素中的input元素
$("#main > *") 选择id值为main的所有的子元素
$("label + input") 选择所有的label元素的下一个input元素节点,经测试选择器返回的是label标签后面直接跟一个input标签的所有input标签元素
$("#prev ~ div") 同胞选择器,该选择器返回的为id为prev的标签元素的所有的属于同一个父元素的div标签
基本过滤选择器:
$("tr:first") 选择所有tr元素的第一个
$("tr:last") 选择所有tr元素的最后一个
$("input:not(:checked) + span")
过滤掉:checked的选择器的所有的input元素
$("tr:even") 选择所有的tr元素的第0,2,4... ...个元素(注意:因为所选择的多个元素时为数组,所以序号是从0开始)
$("tr:odd") 选择所有的tr元素的第1,3,5... ...个元素
$("td:eq(2)") 选择所有的td元素中序号为2的那个td元素
$("td:gt(4)") 选择td元素中序号大于4的所有td元素
$("td:ll(4)") 选择td元素中序号小于4的所有的td元素
$(":header")
$("div:animated")
内容过滤选择器:
$("div:contains('John')") 选择所有div中含有John文本的元素
$("td:empty") 选择所有的为空(也不包括文本节点)的td元素的数组
$("div:has(p)") 选择所有含有p标签的div元素
$("td:parent") 选择所有的以td为父节点的元素数组
可视化过滤选择器:
$("div:hidden") 选择所有的被hidden的div元素
$("div:visible") 选择所有的可视化的div元素
属性过滤选择器:
$("div[id]") 选择所有含有id属性的div元素
$("input[name='newsletter']") 选择所有的name属性等于'newsletter'的input元素
$("input[name!='newsletter']") 选择所有的name属性不等于'newsletter'的input元素
$("input[name^='news']") 选择所有的name属性以'news'开头的input元素
$("input[name$='news']") 选择所有的name属性以'news'结尾的input元素
$("input[name*='man']") 选择所有的name属性包含'news'的input元素
$("input[id][name$='man']") 可以使用多个属性进行联合选择,该选择器是得到所有的含有id属性并且那么属性以man结尾的元素
子元素过滤选择器:
$("ul li:nth-child(2)"),$("ul li:nth-child(odd)"),$("ul li:nth-child(3n + 1)")
$("div span:first-child") 返回所有的div元素的第一个子节点的数组
$("div span:last-child") 返回所有的div元素的最后一个节点的数组
$("div button:only-child") 返回所有的div中只有唯一一个子节点的所有子节点的数组
表单元素选择器:
$(":input") 选择所有的表单输入元素,包括input, textarea, select 和 button
$(":text") 选择所有的text input元素
$(":password") 选择所有的password input元素
$(":radio") 选择所有的radio input元素
$(":checkbox") 选择所有的checkbox input元素
$(":submit") 选择所有的submit input元素
$(":image") 选择所有的image input元素
$(":reset") 选择所有的reset input元素
$(":button") 选择所有的button input元素
$(":file") 选择所有的file input元素
$(":hidden") 选择所有类型为hidden的input元素或表单的隐藏域
表单元素过滤选择器:
$(":enabled") 选择所有的可操作的表单元素
$(":disabled") 选择所有的不可操作的表单元素
$(":checked") 选择所有的被checked的表单元素
$("select option:selected") 选择所有的select 的子元素中被selected的元素