XML DOM insertBefore() Yöntemi

Tanım ve Kullanım

insertBefore() yöntemi, mevcut alt düğümün öncesine yeni bir alt düğüm ekler.

Bu yöntem, bu yeni alt düğümü döner.

Gramer:

elementNode.insertBefore(new_node,existing_node)
Parametreler Açıklama
new_node Gerekli. Eklenecek düğüm.
existing_node Gerekli. Mevcut düğüm. Yeni düğümü bu düğüm öncesine ekleyin.

İpuçları ve açıklamalar:

Açıklama:Internet Explorer, düğüm aralarında oluşturulan boş metin düğümlerini (örneğin, satır boşlukları) göz ardı ederken, Mozilla bunu yapmaz. Bu nedenle, aşağıdaki örnekte, en son alt düğümün düğüm türünü kontrol eden bir fonksiyon kullanıyoruz.

Element düğümünün düğüm türü 1'dir, bu yüzden en son alt düğüm element düğümü değilse, bir önceki düğüme geçilir ve bu düğüm element düğüm mü denir denir. Bu süreç, en son element düğümüne sahip alt düğüm bulunana kadar devam eder. Bu yöntemle, Internet Explorer ve Mozilla'da doğru sonuçlar elde edilir.

IE ile Mozilla tarayıcıları arasındaki farklar hakkında daha fazla bilgi için, CodeW3C.com'un XML DOM Eğitim sayfasını ziyaret edin: DOM Tarayıcı Bu bölüm.

Örnek

Tüm örneklerde, bu bölümde kullanacağımız XML dosyasını books.xmlve JavaScript fonksiyonu loadXMLDoc()

Aşağıdaki kod parçası yeni bir <book> düğümü oluşturur ve onu belgedeki son <book> öğesi öncesine ekler:

//check if the last childnode is an element node
function get_lastchild(n)
{
x=n.lastChild;
while (x.nodeType!=1)
  {
  x=x.previousSibling;
  }
return x;
}
xmlDoc=loadXMLDoc("books.xml");
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");
newTitle.appendChild(newText);
newNode.appendChild(newTitle);
xmlDoc.documentElement.insertBefore(newNode,get_lastchild(x));