jQuery這個類庫最為核心重要的功能就是DOM操作了。DOM是由w3c制定的為HTML和XML文檔編寫的應(yīng)用程序接口,全稱叫做W3C DOM,它使得開發(fā)者能夠修改html和xml的內(nèi)容和展現(xiàn)方式,將網(wǎng)頁與腳本或編程語言連接起來。
但是標準在各個瀏覽器中的實現(xiàn)是不一樣的,同時DOM發(fā)展也是循序漸進的,不斷地增加新的api,因此各個瀏覽器乃至各個版本對于DOM實現(xiàn)的也是不一樣的。jQuery這個類庫最為核心的功能,就是能夠?qū)⒏鱾€主流瀏覽器的主流版本的DOM處理方法統(tǒng)一起來,讓開發(fā)人員不必去過分了解各個瀏覽器對于DOM處理的細節(jié)與差異,寫一次代碼就能在各個瀏覽器中運行,并且取得相同的效果。
jQuery這個框架目前的流行程度在下降,除了新的理論新的框架的興起外,一個主要原因就是各個主流瀏覽器對于DOM處理的差異正在縮小,DOM處理差異大的瀏覽器日益趨于被淘汰,所以jQuery對我們而言僅是一個封裝了DOM處理的工具,存在的意義也日趨下降。但是從mdn的Element預(yù)定義的幾個api就能發(fā)現(xiàn),新增加的api都是在模仿jQuery的,可見jQuery的api是多么經(jīng)典。
阮一峰老師曾經(jīng)有一篇jQuery-free化的文章,里面介紹了很多不使用jQuery也可以高效開發(fā)的技巧,這些技巧都是仿照jQuery,并在深入了解了DOM基礎(chǔ)上封裝起來的。查看jQuery對于DOM操作的源碼,不但會了解到標準的DOM操作方法,學習DOM的api的優(yōu)化,還能學習到關(guān)于瀏覽器兼容的一些“黑魔法”、“黑科技”。
jQuery封裝的DOM大致可以分為3大類:DOM操作、DOM遍歷、DOM事件,篇幅有限,我們先著重看一看DOM操作相關(guān)的jQuery的源碼。下面我們就一起看看jQuery的DOM操作相