XML DOM appendChild() yöntemi
Tanım ve Kullanım
appendChild() yöntemi, bir düğümün alt düğüm listesinin sonuna yeni bir alt düğüm ekleyebilir.
Bu yöntem, bu yeni alt düğümü döndürebilir.
Sözdizimi:
appendChild(newchild)
Parametre | Açıklama |
---|---|
newchild | Eklenen düğüm |
Dönüş değeri
Eklenen düğüm
Açıklama
Bu yöntem, düğüm newchild'i belgeye ekler ve onu mevcut düğümün en son alt düğümü yapar.
Eğer belge ağacında newchild zaten varsa, onun belge ağacından çıkarılır ve yeniden eklenir. Eğer newchild DocumentFragment düğümüyse, doğrudan eklenmez, yerine onun alt düğümleri, mevcut düğümün childNodes[] dizisinin sonuna sırayla eklenir.
Bir belgeden gelen bir düğüm (veya bir belge tarafından oluşturulan bir düğüm) başka bir belgeye eklenemez. Yani, newchild'in ownerDocument özelliği, mevcut düğümün ownerDocument özelliği ile aynı olmalıdır.
Örnek
Aşağıdaki fonksiyon, belgenin sonuna yeni bir paragraf ekler:
function appendMessage (message) { var pElement = document.createElement("p"); var messageNode = document.createTextNode(message);pElement.appendChild(messageNode);
document.body.appendChild(pElement);
}
Örnek
Tüm örneklerde, XML dosyasını kullanacağız books.xmlve JavaScript fonksiyonu loadXMLDoc()。
Aşağıdaki kod parçası, ilk <book> elementine bir düğüm ekler ve ardından ilk <book> elementinin tüm alt düğümlerini çıktılar:
xmlDoc=loadXMLDoc("books.xml");
var newel=xmlDoc.createElement('edition');
var newtext=xmlDoc.createTextNode('First');
newel.appendChild(newtext);
var x=xmlDoc.getElementsByTagName('book')[0];
x.appendChild(newel);
;
var y=x.childNodes;
for (var i=0;i<y.length;i++)
{
//Sadece element düğümleri görüntülenir
if (y[i].nodeType==1)
{
document.write(y[i].nodeName);
document.write("<br />");
}
}
Çıktı:
title author year price edition
Açıklama:Internet Explorer, node arasındaki boş metin düğümlerini (örneğin, satır sonlandırma işaretleri) göz ardı ederken, Mozilla bunu yapmaz. Bu nedenle, aşağıdaki örnekte yalnızca element düğümleri (element düğümlerinin nodeType=1) işlenir.
İpucu:IE ve Mozilla tarayıcıları arasındaki XML DOM farkları hakkında daha fazla bilgi almak için ziyaret edin DOM tarayıcı Bölüm.