jQuery 中DOM 操作詳解
jQuery 中的 DOM 操作
DOM(Document Object Model—文檔對象模型):一種與瀏覽器,平臺(tái), 語言無關(guān)的接口,使用該接口可以輕松地訪問頁面中所有的標(biāo)準(zhǔn)組件
DOM 操作的分類:
DOM Core: DOM Core 并不專屬于 JavaScript, 任何一種支持 DOM的程序設(shè)計(jì)語言都可以使用它. 它的用途并非僅限于處理網(wǎng)頁,也可以用來處理任何一種是用標(biāo)記語言編寫出來的文檔, 例如: XML
HTML DOM: 使用 JavaScript和 DOM 為 HTML文件編寫腳本時(shí), 有許多專屬于 HTML-DOM的屬性
CSS-DOM:針對于 CSS操作, 在 JavaScript中, CSS-DOM 主要用于獲取和設(shè)置 style對象的各種屬性
查找節(jié)點(diǎn)
查找節(jié)點(diǎn):
查找元素節(jié)點(diǎn):通過 jQuery 選擇器完成.
查找屬性節(jié)點(diǎn):查找到所需要的元素之后, 可以調(diào)用 jQuery對象的 attr() 方法來獲取它的各種屬性值
創(chuàng)建節(jié)點(diǎn)
創(chuàng)建節(jié)點(diǎn): 使用 jQuery 的工廠函數(shù) $(): $(html);會(huì)根據(jù)傳入的 html 標(biāo)記字符串創(chuàng)建一個(gè) DOM對象, 并把這個(gè) DOM對象包裝成一個(gè) jQuery 對象返回.
注意:
動(dòng)態(tài)創(chuàng)建的新元素節(jié)點(diǎn)不會(huì)被自動(dòng)添加到文檔中,而是需要使用其他方法將其插入到文檔中;
當(dāng)創(chuàng)建單個(gè)元素時(shí),需注意閉合標(biāo)簽和使用標(biāo)準(zhǔn)的 XHTML 格式.例如創(chuàng)建一個(gè)<p>元素,可以使用 $(“<p/>”) 或 $(“<p></p>”),但不能使用 $(“<p>”) 或 $(“<P>”)
創(chuàng)建文本節(jié)點(diǎn)就是在創(chuàng)建元素節(jié)點(diǎn)時(shí)直接把文本內(nèi)容寫出來;創(chuàng)建屬性節(jié)點(diǎn)也是在創(chuàng)建元素節(jié)點(diǎn)時(shí)一起創(chuàng)建
插入節(jié)點(diǎn)(1)
動(dòng)態(tài)創(chuàng)建 HTML元素并沒有實(shí)際用處, 還需要將新創(chuàng)建的節(jié)點(diǎn)插入到文檔中,即成為文檔中某個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn)
插入節(jié)點(diǎn)(2)
以上方法不但能將新創(chuàng)建的 DOM元素插入到文檔中, 也能對原有的 DOM元素進(jìn)行移動(dòng).
刪除節(jié)點(diǎn)
remove(): 從 DOM中刪除所有匹配的元素, 傳入的參數(shù)用于根據(jù) jQuery表達(dá)式來篩選元素. 當(dāng)某個(gè)節(jié)點(diǎn)用 remove()方法刪除后, 該節(jié)點(diǎn)所包含的所有后代節(jié)點(diǎn)將被同時(shí)刪除.這個(gè)方法的返回值是一個(gè)指向已被刪除的節(jié)點(diǎn)的引用.
empty(): 清空節(jié)點(diǎn) –清空元素中的所有后代節(jié)點(diǎn)(不包含屬性節(jié)點(diǎn)).
復(fù)制節(jié)點(diǎn)
clone(): 克隆匹配的 DOM元素, 返回值為克隆后的副本.但此時(shí)復(fù)制的新節(jié)點(diǎn)不具有任何行為.
clone(true): 復(fù)制元素的同時(shí)也復(fù)制元素中的的事件
替換節(jié)點(diǎn)
replaceWith(): 將所有匹配的元素都替換為指定的 HTML 或 DOM元素
replaceAll(): 顛倒了的 replaceWith() 方法.
注意: 若在替換之前, 已經(jīng)在元素上綁定了事件,替換后原先綁定的事件會(huì)與原先的元素一起消失
包裹節(jié)點(diǎn)
wrap(): 將指定節(jié)點(diǎn)用其他標(biāo)記包裹起來.該方法對于需要在文檔中插入額外的結(jié)構(gòu)化標(biāo)記非常有用, 而且不會(huì)破壞原始文檔的語義.
wrapAll(): 將所有匹配的元素用一個(gè)元素來包裹.而 wrap() 方法是將所有的元素進(jìn)行單獨(dú)包裹.
wrapInner(): 將每一個(gè)匹配的元素的子內(nèi)容(包括文本節(jié)點(diǎn))用其他結(jié)構(gòu)化標(biāo)記包裹起來.
屬性操作
attr(): 獲取屬性和設(shè)置屬性
當(dāng)為該方法傳遞一個(gè)參數(shù)時(shí),即為某元素的獲取指定屬性
當(dāng)為該方法傳遞兩個(gè)參數(shù)時(shí),即為某元素設(shè)置指定屬性的值
jQuery 中有很多方法都是一個(gè)函數(shù)實(shí)現(xiàn)獲取和設(shè)置.如: attr(), html(), text(), val(), height(), width(), css()等.
removeAttr(): 刪除指定元素的指定屬性
設(shè)置和獲取 HTML, 文本和值
讀取和設(shè)置某個(gè)元素中的 HTML內(nèi)容: html() . 該方法可以用于 XHTML,但不能用于 XML 文檔
讀取和設(shè)置某個(gè)元素中的文本內(nèi)容: text().該方法既可以用于 XHTML 也可以用于 XML文檔.
讀取和設(shè)置某個(gè)元素中的值: val() ---該方法類似 JavaScript 中的 value屬性. 對于文本框,下拉列表框, 單選框該方法可返回元素的值(多選框只能返回第一個(gè)值).如果為多選下拉列表框,則返回一個(gè)包含所有選擇值的數(shù)組
相關(guān)文章
jQuery實(shí)現(xiàn)Select左右復(fù)制移動(dòng)內(nèi)容
這篇文章主要介紹了基于jQuery實(shí)現(xiàn)Select左右復(fù)制移動(dòng)內(nèi)容的實(shí)現(xiàn)方法,代碼非常簡單,具有參考借鑒價(jià)值,需要的朋友參考下2016-08-08jquery 學(xué)習(xí)之二 屬性相關(guān)
jquery 學(xué)習(xí)之二 屬性相關(guān)資料,學(xué)習(xí)jquery的朋友可以參考下。2010-11-11jquery bind(click)傳參讓列表中每行綁定一個(gè)事件
用jquey bind 點(diǎn)擊事件時(shí),傳參不注意可能會(huì)導(dǎo)致點(diǎn)擊每一行都是顯示相同內(nèi)容的情況,下面有個(gè)示例,感興趣的朋友可以參考下2014-08-08jQuery插件HighCharts繪制2D圓環(huán)圖效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery插件HighCharts繪制2D圓環(huán)圖效果,結(jié)合實(shí)例形式分析了jQuery使用HighCharts插件繪制圓環(huán)圖的實(shí)現(xiàn)步驟與相關(guān)操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03jQuery篩選數(shù)組之grep、each、inArray、map的用法及遍歷json對象
本文主要介紹jQuery中g(shù)rep、each、inArray、map的用法,并附實(shí)例講解,非常實(shí)用,有需要的朋友可以參考一下。2016-06-06如何使用jquery實(shí)現(xiàn)文字上下滾動(dòng)效果
這篇文章主要介紹了jquery實(shí)現(xiàn)文字上下滾動(dòng)效果。文字上下滾動(dòng)循環(huán)顯示也是一種非常常見而且非常容易實(shí)現(xiàn)的文字特效。這是一種現(xiàn)在比較流行用的效果,用法很簡單。2016-10-10jQuery鼠標(biāo)滑過橫向時(shí)間軸樣式(代碼詳解)
這篇文章主要介紹了jQuery鼠標(biāo)滑過橫向時(shí)間軸樣式,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11jQuery隊(duì)列控制方法詳解queue()/dequeue()/clearQueue()
jQuery核心中, 有一組隊(duì)列控制方法, 這組方法由queue()/dequeue()/clearQueue()三個(gè)方法組成, 它對需要連續(xù)按序執(zhí)行的函數(shù)的控制可以說是簡明自如, 主要應(yīng)用于animate ()方法, ajax以及其他要按時(shí)間順序執(zhí)行的事件中.2010-12-12JS實(shí)現(xiàn)點(diǎn)擊生成UUID的方法完整實(shí)例【基于jQuery】
這篇文章主要介紹了JS實(shí)現(xiàn)點(diǎn)擊生成UUID的方法,結(jié)合完整實(shí)例形式分析了基于jQuery實(shí)現(xiàn)的隨機(jī)字符串生成相關(guān)操作技巧,需要的朋友可以參考下2019-06-06