ps:LZ覺得這個標題有點大了,超出了能力范圍,不喜勿碰。目前只記錄LZ能力范圍內的,日後持續補充。
一、JQuery對象和DOM對象的相互轉化(《鋒利的JQuery》)
JQuery轉化為DOM:
1、var jq = $(‘#selector'); var dom = jq[index];
2、var jq1 = $(‘#selector1'); var dom1 = jq1.get(index) 或者 var dom1 = jq1.get()[index];
DOM轉化為JQuery:
假設cr是一個DOM對象,轉為JQuery,jqcr = $(‘cr');
二、JQuery的$(document).ready()和JavaScript的window.onload()的區別(《鋒利的JQuery》)
1、執行時機
window.onload必須等待網頁中所有資源(包括圖片)加載完成後才能執行,而$(document).ready()在所有DOM結構繪制完畢後就執行,但是可能與DOM相關聯的資源還沒有加載完畢。
2、編寫個數
一個文檔中,window.onload只有是一個,而$(document).ready()可以有多個
3、簡化方法
window.onload沒有簡寫形式,$(document).ready()可以簡寫為$(function(){}).
三、JQuery和JavaScript中訪問屬性名稱的區別(《JQuery實戰》)
JQuery規范名稱 DOM規范
cellspacing cellSpacing
class className
colspan colSpan
cssFloat IE中是styleFloat,其他浏覽器是cssFloat
float IE中是styleFloat,其他浏覽器是cssFloat
for htmlFor
frameborder frameBorder
maxLength maxLength
readonly readOnly
rowspan rowSpan
stylefloat IE中是styleFloat,其他浏覽器是cssFloat
tabindex tabIndex
usemap useMap
四、沖突
DOM理論上不會有沖突產生,JQuery防止沖突產生的兩種解決方法:(《鋒利的JQuery》)
1、JQuery庫在其他庫之後導入
調用JQuery。noConflict()方法將$控制權給其他庫使用,或者自定義快捷方式,$j = JQuery.noConflict();
2、JQuery庫在其他庫之前導入
直接使用JQuery代替$工作,同時$可以作為其他庫的快捷方式。