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