JavaScript缺少insertAfter解決方案
在現(xiàn)有的方法后插入一個(gè)新元素,你可能會(huì)想:既然有insertBefore方法,是不是也有一個(gè)相應(yīng)的insertAfter()方法。很可惜,DOM沒有提供方法。
下面編寫insertAfter函數(shù),雖然DOM本身沒有提供,但它確實(shí)提供了一個(gè)把一個(gè)節(jié)點(diǎn)插入到另一個(gè)節(jié)點(diǎn)之后所有工具。我們完全可以利用已有的DOM方法和屬性編寫一個(gè)insertAfter函數(shù):

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body>
在現(xiàn)有的方法后插入一個(gè)新元素,你可能會(huì)想:既然有insertBefore方法,是不是也有一個(gè)相應(yīng)的insertAfter()方法。很可惜,DOM沒有提供方法。下面編寫insertAfter函數(shù),雖然DOM本身沒有提供,但它確實(shí)提供了一個(gè)把一個(gè)節(jié)點(diǎn)插入到另一個(gè)節(jié)點(diǎn)之后所有工具。我們完全可以利用已有的DOM方法和屬性編寫一個(gè)insertAfter函數(shù):
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<script>
function insertAfter(newElement,targetElement){
var parent = targetElement.parentNode;
if(parent.lastChild == targetElement){
parent.appendChild(newElement);
}else{
parent.insertBefore(newElement,targetElement.nextSibling);
}
}
var p = document.createElement('p');
var txt = document.createTextNode('我是新插入的節(jié)點(diǎn)');
p.appendChild(txt);
var lis = document.getElementsByTagName('li');
//insertAfter(p,lis[0])
</script>
</body>
</html>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Javascript-Mozilla和IE中的一個(gè)函數(shù)直接量的問題分析
Javascript-Mozilla和IE中的一個(gè)函數(shù)直接量的問題分析...2007-08-08
js實(shí)現(xiàn)不提示直接關(guān)閉網(wǎng)頁窗口
本文主要介紹了js實(shí)現(xiàn)不提示直接關(guān)閉網(wǎng)頁窗口的方法。具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-03-03
JS使用Date對(duì)象實(shí)時(shí)顯示當(dāng)前系統(tǒng)時(shí)間簡(jiǎn)單示例
這篇文章主要介紹了JS使用Date對(duì)象實(shí)時(shí)顯示當(dāng)前系統(tǒng)時(shí)間,涉及javascript基于定時(shí)器動(dòng)態(tài)操作Date對(duì)象相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-08-08
淺談webpack性能榨汁機(jī)(打包速度優(yōu)化)
這篇文章主要介紹了淺談webpack性能榨汁機(jī)(打包速度優(yōu)化),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01

