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)文章
在頁(yè)面加載完成后通過(guò)jquery給多個(gè)span賦值
想在頁(yè)面加載完成后,有幾個(gè)地方顯示當(dāng)前時(shí)間,所以想通過(guò)jquery給多個(gè)span賦值,需要的朋友可以參考下2014-05-05
jQuery ajax serialize()方法的使用以及常見(jiàn)問(wèn)題解決
使用ajax時(shí),常常需要拼裝input數(shù)據(jù)為'name=abc&sex=1'這種形式,用JQuery的serialize方法可以輕松的完成這個(gè)工作接下來(lái)介紹jQuery ajax - serialize() 方法定義和用法,感興趣的朋友可以了解下啊,希望本文對(duì)你有所幫助2013-01-01
jQuery實(shí)現(xiàn)的背景動(dòng)態(tài)變化導(dǎo)航菜單效果
這篇文章主要介紹了jQuery實(shí)現(xiàn)的背景動(dòng)態(tài)變化導(dǎo)航菜單效果,涉及jquery頁(yè)面元素背景動(dòng)態(tài)變換的實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-08-08
JQuery Highcharts 動(dòng)態(tài)生成圖表的方法
動(dòng)態(tài)圖表生成方法有很多,在接下來(lái)的文章中將為大家介紹下使用JQuery Highcharts是如何實(shí)現(xiàn)的2013-11-11
jQuery on()綁定動(dòng)態(tài)元素出現(xiàn)的問(wèn)題小結(jié)
jQuery on()方法是官方推薦的綁定事件的一個(gè)方法。使用 on() 方法可以給將來(lái)動(dòng)態(tài)創(chuàng)建的動(dòng)態(tài)元素綁定指定的事件,通過(guò)本文給大家介紹jQuery on()綁定動(dòng)態(tài)元素出現(xiàn)的問(wèn)題小結(jié),需要的朋友參考下2016-02-02
JQuery+drag.js上傳圖片并且實(shí)現(xiàn)圖片拖曳
這篇文章主要介紹了JQuery+drag.js上傳圖片并且實(shí)現(xiàn)圖片拖曳,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11

