一個(gè)新腳本的誕生
在JS中,有著appchild方法和insertBefore方法
appchild可以在這個(gè)父級(jí)元素的最后插入你創(chuàng)建的這個(gè)新元素,而insertBefore可以在相對(duì)于一個(gè)父級(jí)元素,插入到你的目標(biāo)函數(shù)的前面。
那么,為什么不可以有一個(gè)insertAfter函數(shù)呢,相對(duì)于一個(gè)父級(jí)元素,插入到你的目標(biāo)函數(shù)的后面。
so:例子來了
//定義一個(gè)新函數(shù)叫insertAfter,插入兩個(gè)參數(shù)newElement和targEtelement
function insertAfter(newElement,targetelEment){
var parent = targetElement.parentNode;
if (parent.lastchild == targetElement){
parent.appchild(newElement);
}else{
parent.inseryBefore(newElement,targetElement.nextSibling);
}
}
我們可以看到,首先定義了一個(gè)parent變量,代替目標(biāo)函數(shù)的父級(jí)元素,
再利用if,else循環(huán),如果目標(biāo)函數(shù)就是父級(jí)元素的最后一個(gè)子元素的話,那么newElement就是這個(gè)父級(jí)元素的最后一個(gè)元素。
else,如果目標(biāo)函數(shù)不是父級(jí)元素的子函數(shù)的話,那么newElement就插入到目標(biāo)函數(shù)的下一個(gè)兄弟元素之前,也就是插入到目標(biāo)函數(shù)之后。
注意nextSibling是下一個(gè)元素的獲取方法。