最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS中appendChild追加子節(jié)點(diǎn)無(wú)效的解決方法

 更新時(shí)間:2018年10月14日 10:20:11   作者:漁父歌  
這篇文章主要給大家介紹了關(guān)于JS中appendChild追加子節(jié)點(diǎn)無(wú)效的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)

JS中appendChild追加子節(jié)點(diǎn)無(wú)效

有這么一段代碼:

let divs = document.getElementsByClassName('test');
let btn = document.createElement('div');

for(let i=0;i<divs.length;i++){
 divs[i].appendChild(btn);
}

表面上這段代碼為每個(gè) class屬性為 test的元素添加一個(gè) div子元素。

看起來(lái)沒(méi)有什么問(wèn)題,但是執(zhí)行完之后卻發(fā)現(xiàn)子元素并沒(méi)有成功添加,也沒(méi)有報(bào)錯(cuò)。

這其實(shí)是因?yàn)橐粋€(gè)元素只能有一個(gè)父元素,上面這段代碼試圖將 btn添加到多個(gè)元素中。

而這與一個(gè)元素只能有一個(gè)父元素相矛盾,自然就添加不了。

解決辦法也很簡(jiǎn)單,就是將 btn的聲明語(yǔ)句放到循環(huán)里面去,這樣每次添加的 btn都是不同的元素,自然也就沒(méi)有上面的問(wèn)題了。

代碼如下:

let divs = document.getElementsByClassName('test');

for(let i=0;i<divs.length;i++){
 let btn = document.createElement('div');
 divs[i].appendChild(btn);
}

附:JS原生追加子節(jié)點(diǎn)

var fragment = document.createDocumentFragment();
li = document.createElement('li');
li.className = "xxx";
fragment.appendChild(li); 
document.getElementById("xx").appendChild(fragment);

如上,需要先原生創(chuàng)建節(jié)點(diǎn),節(jié)點(diǎn)內(nèi)容成為了document的一部分才能appendchild,

如果直接  appendchild(“<div></div>”)是不可以的,

因?yàn)?code>appendChild(Node)這個(gè) 方法一般是在指定元素節(jié)點(diǎn)的最后一個(gè)子節(jié)點(diǎn)之后添加節(jié)點(diǎn) 

但如果Node是頁(yè)面中的DOM對(duì)象,那么就不是添加節(jié)點(diǎn)了,就是直接Move節(jié)點(diǎn)。 

appendChild你可以理解為移動(dòng)一個(gè)元素。如果想復(fù)制一份過(guò)去,要事先clone 

但是不管怎樣,這個(gè)node需要先存在,

append()前面是要選擇的對(duì)象,后面是要在對(duì)象內(nèi)插入的元素內(nèi)容 

appendTo()前面是要插入的元素內(nèi)容且為Jquery對(duì)象,而后面是要選擇的對(duì)象 

實(shí)例: 

$('#a').append('content'); 
$('<div>content</div>').appendTo($('#a')); 

//注意appendTo前面一定要是Jquery對(duì)象。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論

张家川| 丹寨县| 江口县| 融水| 平阴县| 奉节县| 岑巩县| 绥滨县| 义乌市| 富源县| 铅山县| 扎赉特旗| 南召县| 通化市| 纳雍县| 邢台市| 闵行区| 临朐县| 武威市| 灵台县| 历史| 普陀区| 大庆市| 徐汇区| 文安县| 土默特左旗| 正定县| 农安县| 井陉县| 泾阳县| 九龙城区| 漾濞| 汉川市| 东乡县| 香河县| 都匀市| 岱山县| 天津市| 东兰县| 衢州市| 博爱县|