JQuery插入DOM節(jié)點(diǎn)的方法
本文實(shí)例講述了JQuery插入DOM節(jié)點(diǎn)的方法。分享給大家供大家參考。具體分析如下:
動(dòng)態(tài)創(chuàng)建HTML元素并沒(méi)有實(shí)際用處,還需要將新創(chuàng)建的元素插入文檔中。將新創(chuàng)建的節(jié)點(diǎn)插入文檔最簡(jiǎn)單的辦法是,讓它成為這個(gè)文檔的某個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn)。前面使用了一個(gè)插入節(jié)點(diǎn)的方法append(),它會(huì)在元素內(nèi)部追加新創(chuàng)建的內(nèi)容。
將新創(chuàng)建的節(jié)點(diǎn)插入某個(gè)文檔的方法并非只有一種,在JQuery中還提供了其他兒種插入節(jié)點(diǎn)的方法,如下表所示。讀者可以根據(jù)實(shí)際需求靈活地做出多種選擇。
HTML DOM結(jié)構(gòu)如下:
<p class="nm_p" title="歡迎訪問(wèn)腳本之家" >歡迎訪問(wèn)腳本之家</p> <ul class="nm_ul"> <li title='PHP編程'>簡(jiǎn)單易懂的PHP編程</li> <li title='JavaScript編程'>簡(jiǎn)單易懂的JavaScript編程</li> <li title='JQuery編程'>簡(jiǎn)單易懂的JQuery編程</li> </ul>
append()
向每個(gè)匹配的元素內(nèi)部追加內(nèi)容:
HTML代碼:
jQuery代碼:
結(jié)果:
appendTo()
將所有匹配的元素追加到指定的元素中。實(shí)際上,使用該方法是顛倒了常規(guī)的$(A).append(B)的操作,即不是將B追加到A中,而是將A追加到B中:
HTML代碼:
jQuer代碼:
結(jié)果:
prepend()
向每個(gè)匹配的元素內(nèi)部前置內(nèi)容:
HTML代碼:
jQuer代碼:
結(jié)果:
prependTo()
將所有匹配的元素前置到指定的元素中。實(shí)際上,使用該方法是顛倒了常規(guī)的$(A).prepend(B)的操作,即不是將B前置到A中,而是將A前置到B中:
HTML代碼:
jQuer代碼:
結(jié)果:
after()
在每個(gè)匹配的元索之后插入內(nèi)容:
HTML代碼:
jQuer代碼:
結(jié)果:
insertAfler()
將所有匹配的元素插入到指定元素的后面。實(shí)際上,使用該方法是顛倒了常規(guī)的$(A).after(B)的操作,即不是將B插入到A后面,而是將A插入到B后面:
HTML代碼:
jQuer代碼:
結(jié)果:
before()
在每個(gè)匹配的元素之前插入內(nèi)容:
HTML代碼:
jQuer代碼:
結(jié)果:
insertBefore()
將所有匹配的元素捅入到指定的元素的前面。實(shí)際上,使用該方法是顛倒了常規(guī)的$(A).before(B)的操作,即不是將B插入到A前面,而是將A插入到B前面:
HTML代碼:
jQuer代碼:
結(jié)果:
這些插入節(jié)點(diǎn)的方法不僅能將新創(chuàng)建的DOM元素插入到文檔中,也能對(duì)原有的DOM元素進(jìn)行移動(dòng)。例如利用它們創(chuàng)建新元素并對(duì)其進(jìn)行插入操作:
$(function(){
var $li_1 = $("<li title='新增節(jié)點(diǎn):數(shù)據(jù)結(jié)構(gòu)'>新增節(jié)點(diǎn):數(shù)據(jù)結(jié)構(gòu)</li>"); // 創(chuàng)建第一個(gè)<li>元素
var $li_2 = $("<li title='新增節(jié)點(diǎn):設(shè)計(jì)模式'>新增節(jié)點(diǎn):設(shè)計(jì)模式</li>"); // 創(chuàng)建第二個(gè)<li>元素
var $li_3 = $("<li title='新增節(jié)點(diǎn):計(jì)算機(jī)算法'>新增節(jié)點(diǎn):計(jì)算機(jī)算法</li>"); // 創(chuàng)建第三個(gè)<li>元素
var $parent = $(".nm_ul"); // 獲取<ul>節(jié)點(diǎn)。<li>的父節(jié)點(diǎn)
var $two_li = $(".nm_ul li:eq(1)"); // 獲取<ul>節(jié)點(diǎn)中第二個(gè)<li>元素節(jié)點(diǎn)
$("#btn_1").click(function(){
$parent.append($li_1); // 添加到<ul>節(jié)點(diǎn)中,使之能在網(wǎng)頁(yè)中顯示
});
$("#btn_2").click(function(){
// 可以采取鏈?zhǔn)綄?xiě)法:$parent.append($li_1).append($li_2);
$parent.append($li_2);
});
$("#btn_3").click(function(){
// insertAfter方法將創(chuàng)建的第三個(gè)<li>元素元素插入到獲取的<li>之后
$li_3.insertAfter($two_li);
});
});
也利用它們對(duì)原有的DOM元素進(jìn)行移動(dòng):
$(function(){
var $one_li = $("ul li:eq(1)"); // 獲取<ul>節(jié)點(diǎn)中第二個(gè)<li>元素節(jié)點(diǎn)
var $two_li = $("ul li:eq(2)"); // 獲取<ul>節(jié)點(diǎn)中第三個(gè)<li>元素節(jié)點(diǎn)
$two_li.insertBefore($one_li); //移動(dòng)節(jié)點(diǎn)
});
希望本文所述對(duì)大家的jQuery程序設(shè)計(jì)有所幫助。
- jquery實(shí)現(xiàn)在光標(biāo)位置插入內(nèi)容的方法
- 基于jQuery的輸入框在光標(biāo)位置插入內(nèi)容, 并選中
- JQuery在光標(biāo)位置插入內(nèi)容的實(shí)現(xiàn)代碼
- jQuery 在光標(biāo)定位的地方插入文字的插件
- jQuery:節(jié)點(diǎn)(插入,復(fù)制,替換,刪除)操作
- 關(guān)于用Jquery的height()、width()計(jì)算動(dòng)態(tài)插入的IMG標(biāo)簽的寬高的問(wèn)題
- jQuery實(shí)現(xiàn)在最后一個(gè)元素之前插入新元素的方法
- jquery插入兄弟節(jié)點(diǎn)的操作方法
- jQuery往textarea中光標(biāo)所在位置插入文本的方法
- jQuery?在圖片和文字中插入內(nèi)容實(shí)例
相關(guān)文章
基于jquery實(shí)現(xiàn)省市聯(lián)動(dòng)特效
這篇文章主要介紹了基于jquery實(shí)現(xiàn)省市聯(lián)動(dòng)特效,感興趣的小伙伴們可以參考一下2015-12-12
jquery的index方法實(shí)現(xiàn)tab效果
jquery的index方法實(shí)現(xiàn)tab效果,需要的朋友可以參考下。2011-02-02
jQuery配合coin-slider插件制作幻燈片效果的流程解析
coin-slider是GitHub上的一個(gè)人氣JavaScript開(kāi)源插件,用它來(lái)實(shí)現(xiàn)幻燈片效果只需要?jiǎng)邮謱?xiě)很少的代碼,下面我們就來(lái)看一下jQuery配合coin-slider插件制作幻燈片效果的流程解析.2016-05-05
jQuery獲取radio選中項(xiàng)的值實(shí)例
本文主要介紹jQuery獲取radio選中項(xiàng)的值的方法,希望能幫到大家,有需要的朋友可以參考一下。2016-06-06
使用jQuery Mobile框架開(kāi)發(fā)移動(dòng)端Web App的入門(mén)教程
jQuery Mobile是移動(dòng)端的基于jQuery的Web前端開(kāi)發(fā)框架,移動(dòng)設(shè)備上的瀏覽器對(duì)HTML5的支持普遍較強(qiáng),因而jQuery Mobile的UI設(shè)計(jì)主要針對(duì)HTML5,下面就來(lái)詳細(xì)看一下使用jQuery Mobile框架開(kāi)發(fā)移動(dòng)端Web App的入門(mén)教程2016-05-05
使用BootStrap和Metroui設(shè)計(jì)的metro風(fēng)格微網(wǎng)站或手機(jī)app界面
今天使用bootstrap和metroui設(shè)計(jì)了一個(gè)metro風(fēng)格的移動(dòng)app或者微信微網(wǎng)站的界面,非常不錯(cuò)具有參考借鑒價(jià)值,感興趣的朋友可以參考下2016-10-10
jQuery html() in Firefox (uses .innerHTML) ignores DOM chang
Firefox doesn't update the value attribute of a DOM object based on user input, just its valueproperty - pretty quick work around exists.2010-03-03

