jQuery中容易让人困惑的东西

一,什么是jquery

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了民乐免费建站欢迎大家使用!

jQuery是继prototype之后又一个优秀的Javascrīpt框架。其宗旨是——WRITE LESS,DO MORE,写更少的代码,做更多的事情。说白了,jquery就是javascript。只不过按照人的习惯思维把它封装了一个比较强大的框架。还有一点jquery能够把html和javascript尽量分离,这也是我愿意用jquery的一个重要原因。jqueryt很灵活,太灵活了,可以说是他一个优点,也是他一个缺点,达到一种效果,十个人也许会用十种不同的方法来实现这个过程,结果一样,过程不一样,这到底是好,还是坏呢。就各说各的理了。

二,学习和使用jquery的困惑

1)$.fn.extend({})和$.extend({})

$.fn.extend是扩展jQuery元素集来提供新的方法(通常用来制作插件)。解释一下,就是通过$.fn.extend产生的jquery方法在调用jquery时,不会包括括在jquery自身的对象中,它是扩展插件的形势,继承的。你可以把它理解为php中的extend。举个例子

 
 
 
  1. $.fn.extend({     
  2.   checkname: function() {     
  3.      
  4.    if($.trim($(this).val()) != ""){     
  5.      
  6.        return true;        
  7.      
  8.     }else{     
  9.      
  10.       return false;     
  11.      
  12.     }     
  13.   }     
  14. });     

 调用时 $("input.name").checkname();

$.extend是扩展jQuery对象本身。解释一下,就是说通过$.extend产生的jquery方法,在调用jquery时,会包括在jquery自身的对象中。说白了,就是在jquery对象中添加方法,例如

 
 
 
  1. $.extend({     
  2.   checkname: function(name) {     
  3.      
  4.    if($.trim(name!= ""){     
  5.      
  6.        return true;        
  7.      
  8.     }else{     
  9.      
  10.       return false;     
  11.      
  12.     }     
  13.   }     
  14. });     

 调用时 $.checkname($("input.name").val());

2)$().each({})和$.each({})

$().each({})用来循环数组和对像

 
 
 
    •      
    •   
    • Glen
    •      
    •   
    • Tane
    •      
    •   
    • Ralph
    •      
         

下面是循环对象

 
 
 
  1. $("ul li").each(function(k,v){     
  2.  alert("key="+k+",value="+$(v).html());     
  3. });     
  4. );     

下面是循环数组

 
 
 
  1. array = [0,1,2];     
  2. $(array).each(function(k,v){     
  3.  alert("key="+k+",value="+v);     
  4. });     

$.each({})可用来循环所有数组和对象,个人觉得他们二个没什么差别,除了写法不一样外

下面是循环数组

 
 
 
  1. array = [0,1,2];     
  2.  $.each(array,function(k,v){     
  3.   alert("key="+k+",value="+v);     
  4.  });   

下面是循环对象

 
 
 
  1. $.each($("ul li"),function(k,v){     
  2.  alert("key="+k+",value="+$(v).html());     
  3. });     

注意:function(k)这里k是下标,function(k,v)这是k还是下标,v不一定,有可能是数组里面的一个值,也有可能是一个对象,如果是对象时,如果参数不写出来,默认情况是this

3),$(" :contains()")和$("  :has()")

$(" :contains()") 匹配包含给定文本的元素,contains里面包括的是文本内空

$("li:contains('Ra')").css('color','red');

$("  :has()")匹配含有选择器所匹配的元素的元素,has里面包话的是一个标签

$("li:has(div)").css('color','red');

4), $(" :first")和 $(" :first-child")

 $(" :first") 匹配找到的***个元素

$(" :first-child") 匹配***个子元素,':first' 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素    

 
 
 
    •      
    •     
    • list item 1
    •      
    •     
    • list item 2          
    •       
             
      •         
      • list item 2-a
      •      
      •         
      • list item 2-b
      •      
      •       
           
    •     
    •      
    •     
    • list item 3
    •      
    •     
    • list item 4
    •      
         
 
 
 
  1. $("ul li:first").css('color','red');        //只匹配***次,  
  2. $("ul li:first-child").css('color','red');    //匹配每个符合要求的对象  
  3. 5),$().html()和$().text()  
  4. $().html()取得***个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。  
  5. $().text()结果是由所有匹配元素包含的文本内容组合起来的文本。这个方法对HTML和XML文档都有效。  
  6. Hello

     
  7. $('span').html();    //得到的结果是

    Hello

     
  8. $('span').texxt();    //得到的结果是Hello  
  9. 6),$().empty()和$().remove()  
  10. $().empty() 清空匹配元素中的内空,但不清空自身、  
  11. $().remove(),清空匹配元素中的内空,以及自身  
  12. Hello

     
  13. $('p').empty() //得到的结果是

     
  14. $('p').remove() //得到的结果是 

 【编辑推荐】

  1. jQuery浮动留言板插件
  2. 12个必要的jQuery表单插件
  3. 27个jQuery网页拖放操作的插件
  4. 1.1.4 jQuery的代码特色
  5. 1.1.3 jQuery的基本概念

本文名称:jQuery中容易让人困惑的东西
URL链接:http://www.shufengxianlan.com/qtweb/news30/7830.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联