由來
jQuery由美國人John Resig于2006年初創(chuàng)建,至今已吸引了來自世界各地的眾多javascript高手加入其team。
jQuery是一個快速的,簡潔的javaScript庫,使用戶能更方便地處理HTML documents、events、實現(xiàn)動畫效果,并且方便地為網(wǎng)站提供AJAX交互。
jQuery能夠使用戶的html頁保持代碼和html內(nèi)容分離,也就是說,不用再在html里面插入一堆js來調(diào)用命令了,只需定義id即可。
重大版本更新
2006 年 8 月發(fā)布了 jQuery1.0,第一個穩(wěn)定版本,具有對 CSS 選擇符、事件處理和 Ajax 交互的支持
2013 年 1 月發(fā)布了 jQuery1.9,CSS 的多屬性設置,增強了 CSS3。 2013 年 5 月發(fā)布了 jQuery1.10,增加了一些功能。
2013 年 4 月發(fā)布了 jQuery2.0,5 月發(fā)布了 jQuery2.0.2,一個重大更新版本,不再支持IE6/7/8,體積更小,速度更快。
注意在jQuery2.0之后的版本不再支持ie6/7/8
特點
- 輕量級
- 鏈式語法
- 簡單
- 易擴展
jQuery 最大的優(yōu)勢,就是特別的方便。比如模仿 CSS 獲取 DOM,比原生的 JavaScript 要方便太多。并且在多個 CSS 設置上的集中處理非常舒服,而最常用的 CSS 功能又封裝到 單獨的方法,感覺非常有心。最重要的是 jQuery 的代碼兼容性非常好,你不需要總是頭疼 著考慮不同瀏覽器的兼容問題。
安裝與引用
本地調(diào)用:<script type="text/javascript" src="jquery.js"></script>
遠程調(diào)用:<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js"></script>
連網(wǎng)的情況下可以用谷歌,微軟或者百度的CDN(Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡)
第一個函數(shù) ready
jQuery有一個用來作為DOM快速載入javascript的得心應手的小函數(shù),那就是ready
$(document).ready(function(){
//代碼
})
//簡寫
$(function(){
//代碼
})
這個方法和js中的window.onload
有點相似但是也有不同
window.onload方法長久以來是程序員解決客戶端頁面載入問題的一個方法,只有少數(shù)大型的圖片文件會被快速的載入,而大部分大型的圖片文件會使window.onload()載入的很慢.
標題 | window.onload | $(function(){}) |
---|---|---|
執(zhí)行時機 | 必須等待網(wǎng)頁全部加載完畢(包括 圖片等),然后再執(zhí)行包裹代碼 | 只需要等待網(wǎng)頁中的DOM結構 加載完畢,就能執(zhí)行包裹的代碼 |
執(zhí)行次數(shù) | 只能執(zhí)行一次,如果第二次,那么 第一次的執(zhí)行會被覆蓋 | 可以執(zhí)行多次,第N次都不會被上 一次覆蓋 |
把dom對象轉(zhuǎn)化為jQuery對象
var btn = document.getElementsByTagName("button")[0];//獲取button的dom對象
var $btn = $(btn) //通過$(dom對象)的方式, 把dom對象轉(zhuǎn)化為jQuery對象
把jQuery對象轉(zhuǎn)化為dom對象
var btn = document.getElementsByTagName("button")[0];//獲取button的dom對象
var $btn = $(btn) //通過$(dom對象)的方式, 把dom對象轉(zhuǎn)化為jQuery對象
$btn[0]; //加個下標,把jQuery對象轉(zhuǎn)化成dom對象
$btn.get(0); //這樣也能把jQuery對象轉(zhuǎn)化為dom對象
給jQuery對象設置css樣式
- 單條屬性設置
$("div").css("background-color","#f00");
通過css()方法設置,css屬性和屬性值,都用引號引住,中間用逗號隔開
- 多條屬性設置
$("div").css({"background-color" : "#f00" , "color" : "#fff"})
屬性和屬性值用冒號鏈接,每對屬性之間用逗號隔開,屬性和屬性值要寫在大括號中
在jQuery庫中,$就是jQuery的一個簡寫形式。
如:
$("#id");
jQuery("#id");
//二者是等價的
在編寫JavaScript時應盡量避免使用jQuery和$定義變量或方法,以免在同時使用JavaScript和jQuery時發(fā)生沖突。