insertBefore()方法和insertBefore()方法
DOM提供了名为insertBefore()方法,这个方法将把一个新元素插入到一个现有元素的前面。在调用此方法时,我们必须告诉它三件事:
(1)想插入的新元素(newElement)
(2)想把这个新元素插入到哪个现有元素(targetElement)的前面。
(3)这两个元素共同的父元素(parentElement)。
下面是这个方法的调用语法:
parentElement.insertBefore(newElement,targetElement)
我们不必知道那个父元素到底是哪个,因为targetElement元素的parentNode属性就是它。
既然有一个insertBefore()方法,就应该有一个相应的insertAfter()方法。很可惜,这种想法是错的——DOM根本没有提供这样的方法。
但是我们完全可以利用现有的DOM方法和属性把一个节点插入到另一个节点的后面:
function insertAfter(newElement,targetElement){ var parent = targetElement.parentNode; //检查目标元素是不是parent的最后一个子元素 if(parent.lastChild == targetElement){ parent.appendChild(newElement); } else { //如果不是,就把新元素插入到目标元素和parent元素的下一个子元素的中间 parent.insertBefore(newElement,targetElement.nextSibling); } }

浙公网安备 33010602011771号