jQuery修改DOM結(jié)構(gòu)_動力節(jié)點(diǎn)Java學(xué)院整理
直接使用瀏覽器提供的API對DOM結(jié)構(gòu)進(jìn)行修改,不但代碼復(fù)雜,而且要針對瀏覽器寫不同的代碼。
有了jQuery,我們就專注于操作jQuery對象本身,底層的DOM操作由jQuery完成就可以了,這樣一來,修改DOM也大大簡化了。
添加DOM
要添加新的DOM節(jié)點(diǎn),除了通過jQuery的html()這種暴力方法外,還可以用append()方法,例如:
<div id="test-div"> <ul> <li><span>JavaScript</span></li> <li><span>Python</span></li> <li><span>Swift</span></li> </ul> </div>
如何向列表新增一個(gè)語言?首先要拿到<ul>節(jié)點(diǎn):
var ul = $('#test-div>ul');
然后,調(diào)用append()傳入HTML片段:
ul.append('<li><span>Haskell</span></li>');
除了接受字符串,append()還可以傳入原始的DOM對象,jQuery對象和函數(shù)對象:
// 創(chuàng)建DOM對象: var ps = document.createElement('li'); ps.innerHTML = '<span>Pascal</span>'; // 添加DOM對象: ul.append(ps); // 添加jQuery對象: ul.append($('#scheme')); // 添加函數(shù)對象: ul.append(function (index, html) { return '<li><span>Language - ' + index + '</span></li>'; });
傳入函數(shù)時(shí),要求返回一個(gè)字符串、DOM對象或者jQuery對象。因?yàn)閖Query的append()可能作用于一組DOM節(jié)點(diǎn),只有傳入函數(shù)才能針對每個(gè)DOM生成不同的子節(jié)點(diǎn)。
append()把DOM添加到最后,prepend()則把DOM添加到最前。
另外注意,如果要添加的DOM節(jié)點(diǎn)已經(jīng)存在于HTML文檔中,它會首先從文檔移除,然后再添加,也就是說,用append(),你可以移動一個(gè)DOM節(jié)點(diǎn)。
如果要把新節(jié)點(diǎn)插入到指定位置,例如,JavaScript和Python之間,那么,可以先定位到JavaScript,然后用after()方法:
var js = $('#test-div>ul>li:first-child'); js.after('<li><span>Lua</span></li>');
也就是說,同級節(jié)點(diǎn)可以用after()或者before()方法。
刪除節(jié)點(diǎn)
要刪除DOM節(jié)點(diǎn),拿到j(luò)Query對象后直接調(diào)用remove()方法就可以了。如果jQuery對象包含若干DOM節(jié)點(diǎn),實(shí)際上可以一次刪除多個(gè)DOM節(jié)點(diǎn):
var li = $('#test-div>ul>li'); li.remove(); // 所有<li>全被刪除
以上所述是小編給大家介紹的jQuery修改DOM結(jié)構(gòu)的相關(guān)知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- 解決jquery中動態(tài)新增的元素節(jié)點(diǎn)無法觸發(fā)事件問題的兩種方法
- jquery.jstree 增加節(jié)點(diǎn)的雙擊事件代碼
- jQuery:節(jié)點(diǎn)(插入,復(fù)制,替換,刪除)操作
- jQuery的DOM操作之刪除節(jié)點(diǎn)示例
- JQuery給元素添加/刪除節(jié)點(diǎn)比如select
- JQuery刪除DOM節(jié)點(diǎn)的方法
- jquery 刪除節(jié)點(diǎn) 添加節(jié)點(diǎn) 找兄弟節(jié)點(diǎn)的簡單實(shí)現(xiàn)
- jquery的父子兄弟節(jié)點(diǎn)查找示例代碼
- JQuery查找DOM節(jié)點(diǎn)的方法
- jQuery實(shí)現(xiàn)查找最近父節(jié)點(diǎn)的方法
- jQuery實(shí)現(xiàn)對網(wǎng)頁節(jié)點(diǎn)的增刪改查功能示例
相關(guān)文章
jQuery實(shí)現(xiàn)移動端手機(jī)商城購物車功能
這篇文章主要介紹了jQuery實(shí)現(xiàn)移動端手機(jī)商城購物車功能的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09jQuery實(shí)現(xiàn)仿Alipay支付寶首頁全屏焦點(diǎn)圖切換特效
這篇文章主要介紹了jQuery實(shí)現(xiàn)仿Alipay支付寶首頁全屏焦點(diǎn)圖切換特效,涉及jQuery插件jquery.kinMaxShow的相關(guān)使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05jQuery進(jìn)階實(shí)踐之利用最優(yōu)雅的方式如何寫ajax請求
ajax請求相信對大家來說都不陌生,下面這篇文章主要介紹了jQuery進(jìn)階實(shí)踐之利用最優(yōu)雅的方式如何寫ajax請求的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12淺談jquery回調(diào)函數(shù)callback的使用
這篇文章主要簡單介紹了jquery回調(diào)函數(shù)callback的使用,需要的朋友可以參考下2015-01-01牛叉的Jquery——Jquery與DOM對象的互相轉(zhuǎn)換及DOM的三種操作
Jquery對象就是通過jQuery包裝DOM對象后產(chǎn)生的對象,jQuery對象是jQuery獨(dú)有的,其可以使用jQuery里的方法,本文給大家介紹Jquery對象就是通過jQuery包裝DOM對象后產(chǎn)生的對象,jQuery對象是jQuery獨(dú)有的,其可以使用jQuery里的方法。感興趣的朋友可以參考下2015-10-10jQuery對話框插件ArtDialog在雙擊遮罩層時(shí)出現(xiàn)關(guān)閉現(xiàn)象的解決方法
這篇文章主要介紹了jQuery對話框插件ArtDialog在雙擊遮罩層時(shí)出現(xiàn)關(guān)閉現(xiàn)象的解決方法,涉及針對插件源碼的修改,需要的朋友可以參考下2016-08-08jquery選擇符快速提取web表單數(shù)據(jù)示例
遇到要重復(fù)多次同樣的事時(shí),就想找一種省時(shí)省力的方法,下面就為大家介紹下利用jquery選擇符快速提取web表單數(shù)據(jù)2014-03-03