对JQuery的认识

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”) 取得文档中所有的段落,

2ID $(“#Some-ID”) 取得文档中对应的Some-ID ID的一个元素。

3:类: $(“.Some-Class”) 取得文档中class = Some-Clasee 的所有元素的集合。

4CSS选择器:$(“table tr”) 根据CSS的选择器来选取元素。

5html字符串:$(“<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")      
同胞选择器,该选择器返回的为idprev的标签元素的所有的属于同一个父元素的div标签

基本过滤选择器:
$("tr:first")              
选择所有tr元素的第一个
$("tr:last")               
选择所有tr元素的最后一个
$("input:not(:checked) + span")  

过滤掉:checked的选择器的所有的input元素

$("tr:even")              
选择所有的tr元素的第024... ...个元素(注意:因为所选择的多个元素时为数组,所以序号是从0开始)

$("tr:odd")               
选择所有的tr元素的第135... ...个元素
$("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")       
选择所有的被hiddendiv元素
$("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")              
选择所有类型为hiddeninput元素或表单的隐藏域

表单元素过滤选择器:

$(":enabled")            
选择所有的可操作的表单元素
$(":disabled")           
选择所有的不可操作的表单元素
$(":checked")           
选择所有的被checked的表单元素
$("select option:selected") 
选择所有的select 的子元素中被selected的元素

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值