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