Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / jQuery中容易让人困惑的东西

前言:jQuery很灵活,太灵活了,可以说是他一个优点,也是他一个缺点,达到一种效果,十个人也许会用十种不同的方法来实现这个过程,结果一样,过程不一样,这到底是好,还是坏呢。一,什么是jQueryjQuery是继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。举个例子 $.fn.extend({   checkname: function() {            if($.trim($(this).val()) != ""){              return true;                }else{             return false;           }      }    });   调用时 $("input.name").checkname();$.extend是扩展jQuery对象本身。解释一下,就是说通过$.extend产生的jquery方法,在调用jquery时,会包括在jquery自身的对象中。说白了,就是在jquery对象中添加方法,例如$.extend({   
 checkname: function(name) {   
       if($.trim(name!= ""){   
            return true;           
   }else{         
   return false;     
     }   
 } 
  });调用时 $.checkname($("input.name").val());2)$().each({})和$.each({})$().each({})用来循环数组和对像<ul>         <li><div>Glen</div></li>       <li>Tane</li>     <li>Ralph</li> </ul>  下面是循环对象$("ul li").each(function(k,v){     alert("key="+k+",value="+$(v).html());    });    );下面是循环数组array = [0,1,2]; 
  $(array).each(function(k,v){ 
 alert("key="+k+",value="+v); 
 })$.each({})可用来循环所有数组和对象,个人觉得他们二个没什么差别,除了写法不一样外 注意:function(k)这里k是下标,function(k,v)这是k还是下标,v不一定,有可能是数组里面的一个值,也有可能是一个对象,如果是对象时,如果参数不写出来,默认情况是this3),$(" :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" 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素<div><ul>   <li>list item 1</li>   
    <li>list item 2       
        <ul>     
      <li>list item 2-a</li>     
      <li>list item 2-b</li>     
   </ul> 
      </li>     
 <li>list item 3</li> 
     <li>list item 4</li> 
  </ul>
</div>$("ul li:first").css("color","red");        //只匹配第一次,  $("ul li:first-child").css("color","red");    //匹配每个符合要求的对象 $().html()和$().text()  $().html()取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。  $().text()结果是由所有匹配元素包含的文本内容组合起来的文本。这个方法对HTML和XML文档都有效。  <span><p>Hello</p></span>  $("span").html();   //得到的结果是<p>Hello</p> $("span").texxt();    //得到的结果是Hello  6), $().empty()和$().remove()  $().empty() 清空匹配元素中的内空,但不清空自身、 $().remove(),清空匹配元素中的内空,以及自身  <span><p>Hello</p></span>$("p").empty() //得到的结果是<span><p></p></span> $("p").remove() //得到的结果是<span></span>------------------------------------------分割线------------------------------------------jQuery权威指南 PDF版中文+配套源代码 http://www.linuxidc.com/Linux/2013-10/91059.htmjQuery实战 中文PDF+源码 http://www.linuxidc.com/Linux/2013-09/90631.htm《jQuery即学即用(双色)》 PDF+源代码 http://www.linuxidc.com/Linux/2013-09/90383.htm锋利的jQuery(第2版) 完整版PDF+源码 http://www.linuxidc.com/Linux/2013-10/91527.htmjQuery完成带复选框的表格行高亮显示 http://www.linuxidc.com/Linux/2013-08/89406.htmjQuery基础教程(第4版) PDF 完整高清版+配套源码 http://www.linuxidc.com/Linux/2014-03/98162.htm--------------------------------------分割线 --------------------------------------jQuery 的详细介绍:请点这里
jQuery 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-05/116929.htm