إضافة عقد DOM
- الصفحة السابقة إنشاء عقد DOM
- الصفحة التالية تكرار عقد DOM
إضافة العنصر - appendChild()
appendChild()
يضيف الطريقة العنصر الفرعي إلى العنصر الحالي.
يمكن إضافة العنصر الجديد (إضافة) بعد أي عنصر فرعي موجود.
ملاحظة:إذا كانت موقع العنصر مهمًا، استخدم insertBefore().
يخلق هذا جزء من الكود عنصرًا جديدًا (<edition>) ويضعه بعد آخر عنصر فرعي لعنصر <book> الأول:
مثال 1
newEle = xmlDoc.createElement("edition"); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
توضيح المثال:
- بافتراض books.xml تم تحميل إلى
xmlDoc
في - إنشاء علامة جديدة <edition>.
- إضافة العنصر إلى العنصر الأول <book>.
فوظيفة هذا النص المبرمج مشابهة للنص المبرمج السابق، ولكن تم إضافة قيمة جديدة للعنصر الجديد:
مثال 2
newEle = xmlDoc.createElement("edition"); newText=xmlDoc.createTextNode("النسخة الأولى"); newEle.appendChild(newText); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
توضيح المثال:
- بافتراض books.xml تم تحميل إلى
xmlDoc
في - إنشاء علامة جديدة <edition>.
- إنشاء علامة نصية جديدة
"النسخة الأولى"
- إضافة هذا العنصر النصي إلى علامة <edition>.
- إضافة علامة <edition> إلى العنصر <book>.
إدراج العنصر - insertBefore()
insertBefore()
يدرج العنصر في مكان معين قبل العنصر الفرعي المحدد.
إذا كانت موقع العنصر المضاف مهم، فإن هذا method مفيد جداً:
مثال
newNode = xmlDoc.createElement("book"); x = xmlDoc.documentElement; y = xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode,y);
توضيح المثال:
- بافتراض books.xml تم تحميل إلى
xmlDoc
في - إنشاء عنصر جديد <book>.
- إدراج هذا العنصر الجديد قبل العنصر الفرعي الأخير <book>.
- إذا كان parameter الثاني لـ insertBefore() null، فإن العنصر الجديد سيتم إضافته بعد العنصر الفرعي الحالي الأخير.
x.insertBefore(newNode,null) و x.appendChild(newNode) يمكن إضافة新的 فرع إلى x.
إضافة خاصية جديدة
setAttribute()
يحدد هذا method قيمة الخاصية.
إذا لم تكن الخاصية موجودة، setAttribute()
يمكن إنشاء خاصية جديدة
مثال
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","النسخة الأولى");
توضيح المثال:
- بافتراض books.xml تم تحميل إلى
xmlDoc
في - عند إعداد قيمة خاصية "edition" للعنصر الأول <book> إلى "النسخة الأولى"
ملاحظة:لا يوجد أي method يسمى addAttribute()، إذا لم يكن هناك خاصية، ستقوم method setAttribute() بإنشاء خاصية جديدة. إذا كانت الخاصية موجودة بالفعل، ستقوم method setAttribute() بتغطية القيمة الحالية.
إضافة النص إلى العنصر النصي - insertData()
insertData()
ي插入 البيانات في العنصر النصي الحالي
insertData()
يوجد لديه parameterين
- offset - من حيث البدء في إدراج الأحرف (من 0)
- string - النص الذي سيتم إدراجه
سيضيف النص التالي "أحب" إلى نص العنوان الأول لـ <title> في XML المضمنة:
مثال
xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"أحب");
- الصفحة السابقة إنشاء عقد DOM
- الصفحة التالية تكرار عقد DOM