返回新集合
=> <script type="text/javascript"> var arr=['a','b','c']; //将原始数组中的每个值加上自己索引后,映射到新的数组中。 arr=$.map(arr,elem+i; }); console.log(arr);// ["a0", "b1", "c2"] </script> </body> eqfirst(就是eq(0))和last(就是eq(-1))方法都是基于eq方法来实现的
>1111111>1111111=> <script type="text/javascript"> /* eq是获取指定下标的元素 下标可以为负值 */ $($('div').eq(2).css('color','red'); $('div').eq(-1).css('color','red');//其实是-1+length }); </script> </body> toArray()toArray()方法用来转数组
>2=> <script type="text/javascript"> $(function(){ console.log($('div'));//Object[div, div, div] 返回的是对象 console.log($('div').toArray());//[div, div, div] 返回数组 }); </script> </body> extend–JQ的继承方法 jQuery.extend和jQuery.fn.extendjQuery.extend 调用的时候,this是指向jQuery对象的(jQuery是函数,也是对象!),所以这里扩展在jQuery上。
而jQuery.fn.extend 调用的时候,this指向fn对象,jQuery.fn 和jQuery.prototype指向同一对象,扩展fn就是扩展jQuery.prototype原型对象。这里增加的是原型方法,也就是对象方法了。
jQuery与其他库的防冲突解决
=> <script type="text/javascript"> var aa = $.noConflict(); var $ = 123; aa(function(){ alert($);//123 }); </script> </body>在jQuery库之前引用$和jQuery
="text/javascript"> /* 源码中: _jQuery = window.jQuery _$ = window.$ */ $ = 123; //相当于将jQuery源码中的_jQuery = window.jQuery = 456 var jQuery = 456; //console.log("window:"+window.$);//window:123 => <script type="text/javascript"> var aa = $.noConflict(true); aa(function(){ alert($);//123 alert(jQuery);//456 }); </script> </body>