طريقة XML DOM appendChild()
التعريف والاستخدام
يمكن استخدام طريقة appendChild() لإضافة عقدة جديدة إلى نهاية قائمة الأبناء للعقدة.
يمكن لهذه الطريقة العودة إلى هذا العقدة الابن الجديد.
النحو:
appendChild(newchild)
الم参数 | وصف |
---|---|
newchild | العقدة المضافة |
القيمة التي تعود بها
العقدة المضافة.
وصف
يضيف هذا الطريقة العقدة newchild إلى المستند، مما يجعله العقدة الأخيرة للأبناء الحاليين.
إذا كان newchild موجوداً بالفعل في شجرة المستند، سيتم حذفه من شجرة المستند ثم إعادة إدراجه في موقعه الجديد. إذا كان newchild هو عقدة DocumentFragment، لن يتم إدراجه مباشرة، بل سيتم إدراج جميع أبناءه في نهاية قائمة childNodes[] للعقدة الحالية.
لا يمكن إدراج عقدة من مستند (أو عقدة منشأة من مستند) في مستند آخر. بمعنى آخر، يجب أن تكون الخاصية ownerDocument للـ newchild متطابقة مع الخاصية ownerDocument للعقدة الحالية.
مثال
الدالة التالية ستضيف سطراً جديداً في نهاية المستند:
function appendMessage (message) { var pElement = document.createElement("p"); var messageNode = document.createTextNode(message);pElement.appendChild(messageNode);
document.body.appendChild(pElement);
}
مثال
في جميع الأمثلة، سنستخدم ملف XML books.xml، وأيضاً دالة JavaScript loadXMLDoc()。
البرنامج التالي يمكنه إنشاء وإضافة عقدة إلى العنصر الأول <book>، ثم إخراج جميع العقد الأبناء للعنصر الأول <book>:
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++)
{
//عرض العناصر فقط
if (y[i].nodeType==1)
{
document.write(y[i].nodeName);
document.write("<br />");
}
}
الإخراج:
العنوان المؤلف السنة السعر الطبع
ملاحظة:سيقوم متصفح Internet Explorer بتجاهل نقاط البيانات الفارغة بين العناصر (مثل علامات النسخ واللصق)، بينما لن يفعل ذلك متصفح Mozilla. لذلك، نعالج فقط عناصر العناصر (حيث يكون نوع العنصر = 1) في المثال التالي.
إشارة:للحصول على معلومات إضافية حول الفروق بين XML DOM بين متصفحات IE و Mozilla، يرجى زيارة المتصفح DOM الفصول.