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(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(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)雅的鏈?zhǔn)降枷弧姶蟮牟樵兣c便捷的操作。從而把jQuery打造成前端世界的一把利劍茸时,所向披靡贡定!
它兼容CSS3,還兼容各種瀏覽器可都,jQuery使用戶能更方便地處理DOM缓待、事件、實現(xiàn)動畫效果渠牲,并且方便地為網(wǎng)站提供AJAX交互旋炒。
其主要的優(yōu)勢有:輕量級、強大的選擇器签杈、出色的DOM封裝操作瘫镇、可靠的事件處理機制、完善的jQuery、不污染頂級變量铣除、出色的瀏覽器兼容性谚咬、鏈?zhǔn)讲僮鞣椒ā㈦[式迭代尚粘、行為層與結(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();相當(dāng)于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ù)