jQuery基础细节
使用CDN版的jQuery
用托管在公共CDN(Content Delivery Network,内容分发网络)上的jQuery库,CDN是一种内容分发网络,当用户请求其数据时,CDN智能的分配离用户最近的服务器提供服务。用户体验更好,用户列蓝旗很可能缓存了来自其他网站的同一个jQuery库,这意味着用户很可能不必真的向CDN服务器发送请求文件(而是直接从缓存中读取)。
1
2
3
4
5
6
7
8
9
10
|
<script> if (!window.jQuery) { var script = document.createElement( 'script' ); script.src = './js/jquery.min.js' ; document.body.appendChild(script); } </script> |
条件注释
利用条件注释,如果是比IE9更老的IE浏览器,就加载1.0版本,否则就加载2.0版本。
1
2
3
4
5
6
|
<!--[ if lt IE 9]> <script src= "http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js" type= "text/javascript" ></script> <![endif]--> <!--[ if gte IE 9]><!--> <script src= "http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" type= "text/javascript" ></script> <!--<![endif]--> |
移交$控制权
可以定义一个变量,将noConflict方法返回的值赋给这个变量即可。
1
|
var jq = jQuery.onConflict(); |
等待DOM加载完成
1
2
3
|
$(document).ready( function (){ }); |
1
2
3
|
$( function (){ }); |
延迟ready事件的触发时间
1
2
3
4
5
6
7
8
|
$.holdReady( true ); $(document).ready( function (){ }); setTimeout( function (){ // $.holdReady( false ); },5000); |
jQuery对象与Dom对象互转
将Dom对象传给$(),即可得到jQuery对象,并且可以使用类似数组的操作方法length,size()获取类数组长度。
each()方法允许我们定义一个回调函数,迭代处理jQuery对象中所有DOM对象。
1
2
3
|
$().each( function (index, elem){ }); |
get(index)将jQuery对象转换成Dom对象。