jQuery基础细节

使用CDN版的jQuery

用托管在公共CDN(Content Delivery Network,内容分发网络)上的jQuery库,CDN是一种内容分发网络,当用户请求其数据时,CDN智能的分配离用户最近的服务器提供服务。用户体验更好,用户列蓝旗很可能缓存了来自其他网站的同一个jQuery库,这意味着用户很可能不必真的向CDN服务器发送请求文件(而是直接从缓存中读取)。

百度静态资源公共库 http://cdn.code.baidu.com/

360CDN http://libs.useso.com/

BootCDN http://www.bootcdn.cn/

七牛云存储 http://www.staticfile.org/

1

2

3

4

5

6

7

8

9

10

<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>

<script>

if(!window.jQuery) {

varscript = 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

<!--[iflt IE 9]>

<script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"type="text/javascript"></script>

<![endif]-->

<!--[ifgte IE 9]><!-->

<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"type="text/javascript"></script>

<!--<![endif]-->

移交$控制权

可以定义一个变量,将noConflict方法返回的值赋给这个变量即可。

1

varjq = 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对象。

来自为知笔记(Wiz)