XML DOM insertBefore() yöntemi
Tanım ve Kullanım
insertBefore() yöntemi, mevcut alt düğümün önüne yeni bir alt düğüm ekleyebilir.
Bu yöntem, yeni alt düğümü döndürebilir.
Gramer:
insertBefore(newchild, refchild)
Parametreler | Açıklama |
---|---|
newchild | Yeni bir düğüm ekle |
refchild | Bu düğüm öncesine yeni bir düğüm ekle |
İpuçları ve Yorumlar
Yorum:Internet Explorer, aralarında oluşturulan boş metin düğümünü (örneğin, satır sonlandırma işareti) göz ardı ederken, Mozilla bunu yapmaz. Bu nedenle, aşağıdaki örneklerde, en son alt düğümün düğüm türünü kontrol etmek için bir fonksiyon kullanacağız。
Element düğüm节点的节点类型是 1,因此如果首个子节点不是一个元素节点,它就会移至下一个节点,然后继续检查此节点是否为元素节点。整个过程会一直持续到首个元素子节点被找到为止。通过这个方法,我们就可以在 Internet Explorer ve Mozilla'da doğru yöntemi elde etmek için kullanabiliriz。
İpucu:IE ile Mozilla tarayıcıları arasındaki XML DOM'un farklılıkları hakkında daha fazla bilgi için, sitemizi ziyaret edin DOM Tarayıcı Bölüm.
Örnek
Tüm örneklerde, XML dosyasını kullanacağız books.xmlve, JavaScript fonksiyonu loadXMLDoc().
Aşağıdaki parçanın altında, yeni bir <book> düğümü oluşturabilir ve bu düğümü belgedeki en son <book> elementi öncesine ekleyebilir:
//check if the last childnode is an element node
function get_lastchild(n)
{
var x=n.lastChild;
while (x.nodeType!=1)
{
x=x.previousSibling;
return x;
xmlDoc=loadXMLDoc("books.xml");
var newNode=xmlDoc.createElement("book");
var newTitle=xmlDoc.createElement("title");
var newText=xmlDoc.createTextNode("A Notebook");
newTitle.appendChild(newText);
newNode.appendChild(newTitle);
xmlDoc.documentElement.insertBefore(newNode,get_lastchild(x));