web前端之鋒利的jQuery一:認識jQuery
jQuery是繼prototype之后又一個優(yōu)秀的Javascript框架。它是輕量級的js庫 ,它兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后續(xù)版本將不再支持IE6/7/8瀏覽器。jQuery使用戶能更方便地處理HTML(標準通用標記語言下的一個應(yīng)用)、events、實現(xiàn)動畫效果,并且方便地為網(wǎng)站提供AJAX交互。jQuery還有一個比較大的優(yōu)勢是,它的文檔說明很全,而且各種應(yīng)用也說得很詳細,同時還有許多成熟的插件可供選擇。jQuery能夠使用戶的html頁面保持代碼和html內(nèi)容分離,也就是說,不用再在html里面插入一堆js來調(diào)用命令了,只需定義id即可。
The Write Less,Do More(寫更少,做更多),無疑就是jQuery的核心理念,簡潔的API、優(yōu)雅的鏈式、強大的查詢與便捷的操作。從而把jQuery打造成前端世界的一把利劍,所向披靡!
它兼容CSS3,還兼容各種瀏覽器,jQuery使用戶能更方便地處理DOM、事件、實現(xiàn)動畫效果,并且方便地為網(wǎng)站提供AJAX交互。
其主要的優(yōu)勢有:輕量級、強大的選擇器、出色的DOM封裝操作、可靠的事件處理機制、完善的jQuery、不污染頂級變量、出色的瀏覽器兼容性、鏈式操作方法、隱式迭代、行為層與結(jié)構(gòu)層分離、豐富的插件支持、完善的文檔、開源。
第一個小例子:
認識jQuery$(document).ready(function(){alert("Hello World!");? ? }
$在jQuery通常就是“jQuery”的簡寫。
$(document).ready(function(){});就等同于JavaScript中的window.onload(function(){});
window.onload(function(){}):
1.必須等到網(wǎng)頁全部被加載完成之后后才執(zhí)行
2.只有一個,如有多個執(zhí)行最后一個
3.不能被簡寫
$(document).ready(function(){}):
1.等到所有DOM結(jié)構(gòu)繪制完畢后執(zhí)行,可能其DOM元素關(guān)聯(lián)的還沒有加載完畢
2.可以書寫多個
3.可以被簡寫:$(function(){});
DOM:
jQuery中的$(‘#foo’).html();相當于getElementById(‘foo’).innerHTML;
DOM對象,即是我們用傳統(tǒng)的方法(javascript)獲得的對象,jQuery對象即是用jQuery類庫的選擇器獲得的對象;
復(fù)制代碼 代碼如下:
var domObj = document.getElementById(“id”); //DOM對象
var$obj =$(“#id”); //jQuery對象;
var $variable=jQuery對象;
var variable=DOM對象;
jQuery對象轉(zhuǎn)換成DOM對象:
jQuery對象不能使用DOM中的方法,但是如果對jQuery對象方法不熟悉,或者jQuery沒有封裝想要的方法,不得不使用DOM中的方法,有以下兩種處理:
(1)jQuery對象是一個類似于數(shù)組的對象,可以通過[index]的方法得到相應(yīng)的DOM對象。
jQuery代碼如下:
var$cr=$(“#cr”); //jQuery對象
var cr=$(cr[0]); //DOM對象
alert(cr.checked); //檢測這個checkbox是否被選中
(2)另一種方法是jQuery自身提供的,通過get(index)方法得到相應(yīng)的DOM對象。
jQuery代碼如下:
var$cr=$(“#cr”); //jQuery對象
var cr=$cr.get(0); //DOM對象
alert(cr.checked); //檢測這個checkbox是否被選中
DOM對象轉(zhuǎn)換成重點內(nèi)容jQuery對象:
對于一個DOM對象,只需要$()把DOM對象包裝起來,就可以獲得一個jQuery對象,方式為$(DOM對象)
jQuery代碼如下:
var cr=document.getElementById(“cr”); //DOM對象
var$cr=$(cr); //jQuery對象
解決其他庫與JQuery的沖突:
1.jQuery庫在其他庫之后導(dǎo)入
在其他庫和jQuery庫都被加載完畢之后,可以再任何時候調(diào)用jQuery.noConfict()函數(shù)來將變量$的控制權(quán)移交給其他JavaScript庫。
2.jQuery庫在其他庫之前導(dǎo)入
如果jQuery庫在其他庫之前導(dǎo)入,那么可以直接使用“jQuery”來做一些jQuery的工作,同時,可以使用$()方法作為其他庫的快捷方式。這里無需調(diào)用jQuery.noConfict()函數(shù)