-
什么是jQuery
jQuery是繼prototype之后又一個(gè)優(yōu)秀的JavaScript庫(kù)。特點(diǎn)是語(yǔ)法簡(jiǎn)介、兼容性好。極大地簡(jiǎn)化了JavaScript開(kāi)發(fā)人員遍歷HTML文檔、操作DOM、處理事件、執(zhí)行動(dòng)畫(huà)和開(kāi)發(fā)ajax的操作。
image.png
![Uploading image_974771.png . . .]
與DOM的關(guān)系:jQuery對(duì)象就是通過(guò)jQuery包裝DOM對(duì)象后產(chǎn)生的對(duì)象 - 版本
jQuery1.8 vs jQuery1.9(升級(jí)后把$.browser去掉了)
jQuery1.x vs jQuery2.x(2.x給手機(jī)用的,不兼容IE8以下)
jQuery3.x (把兼容IE的代碼去除,至少要求IE11才可以) - jQuery概覽
1、如何引入jQuery
<script src="地址"></script>
2、同時(shí)引入兩個(gè)版本的jQuery怎么處理
jQuery.noConflict = function(){
window.$ = old$
return jquery
}(函數(shù)目的:①不該寫(xiě)window.$,永遠(yuǎn)是undefined
②返回該版本的jQuery)
<script src="query-1.4.js"></script>
(此時(shí)window.$ ===jQuery1.4)
<script>
window.jq1.4=jquery.noConflict()
</script>
<script src="query-1.8.js"></script>
(此時(shí)window.$ ===jQuery1.8)
<script>
window.jq1.8=jquery.noConflict()
</script>
最終代碼得到了window.$===undefined,window.jq1.4,window.jq1.8
如何調(diào)用:
①!function($){
$ ===jq1.4
$('div')
}(jq1.4)
!function($){
$ ===jq1.8
$('div')
}(jq1.8)
②{
let $ = jq1.4
$('div')
}(用哪個(gè)版本就在作用域里申明哪個(gè)版本)
3、ready事件
DOMContentLoaded()不管遠(yuǎn)程資源有沒(méi)有,只要所有元素都齊了,就會(huì)執(zhí)行
onload事件管理遠(yuǎn)程資源(CSS、iframe、image)
$(function(){}),如果是直接寫(xiě)函數(shù),就會(huì)在DOMContentLoaded()事件之后執(zhí)行這個(gè)函數(shù)。和$().ready(function(){})用法一樣
以上是對(duì)jQuery簡(jiǎn)單描述,此外jQuery的鏈?zhǔn)秸{(diào)用、插件應(yīng)用都是不錯(cuò)的。筆者可以通過(guò)一下途徑詳細(xì)了解
1、jQuery設(shè)計(jì)思想
2、jQuery API 中文文檔
3、書(shū)目:《鋒利的jQuery》
掃盲:
1、立即執(zhí)行函數(shù)
有時(shí)候我們希望在定義函數(shù)后立馬調(diào)用執(zhí)行它,這就是立即執(zhí)行函數(shù)。
但是假設(shè)我們這樣調(diào)用:
function (){}()(前半部分是函數(shù)申明,后半部分是調(diào)用。但是這樣申明及調(diào)用JavaScript時(shí)會(huì)報(bào)錯(cuò)的,因?yàn)镴avaScript規(guī)定以function開(kāi)頭的就是語(yǔ)句,也就是函數(shù)申明,所以會(huì)報(bào)錯(cuò))
為此,為了達(dá)到立即執(zhí)行函數(shù)的目的,我們可以進(jìn)行如下方式申明及調(diào)用
①(function(){ /* code / }());或者(function(){ / code / })();(分號(hào)必須寫(xiě))
②!function(){ / code / }();
~function(){ / code / }();
-function(){ / code / }();
+function(){ / code / }();
③new function(){ / code / }
new function(){ / code */ }()
// 只有傳遞參數(shù)時(shí),才需要最后那個(gè)圓括號(hào)