تغيير قيمة العقدة في XML DOM

nodeValue تستخدم الخصائص لتغيير قيمة العقدة.

setAttribute() يستخدم هذا الطريقة لتغيير قيمة الخصائص.

تغيير قيمة العنصر

في DOM، كل شيء هو عقدة. لا يحتوي العقدة العناصرية على قيمة نصية.

يتم تخزين نص عقدة العنصر في العقدة الفرعية. وتسمى هذه العقدة عقدة نصية.

لإجراء تغيير في نص العنصر، يجب تغيير نص عقدة النص للعنصر.

تغيير نص العقدة النصية

nodeValue يمكن استخدام الخاصية لتغييرقيمة العقدة النصية.

يغير هذا الكود نص العقدة النصية للعنصر الأول <title>:

مثال 1

xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = ";

جربها بنفسك

مثال توضيحي:

  1. افتراض books.xml تم تحميلها xmlDoc الصينية
  2. الحصول على العقدة الأولى للعنصر <title>
  3. تغيير قيمة نص هذا العقدة النصية إلى "عالم المأكولات الصينية"

مثال 2

التحقق من جميع عناصر <title> وتغيير نص عقدات النص:

for (i = 0; i < x.length; i++) {
    x[i].childNodes[0].nodeValue = ";
}

جربها بنفسك

تغيير قيمة الخاصية

في DOM، الخاصية هي أيضًا عقدة. على عكس عقدة العنصر، تملك خاصية عقدة نصية.

تغيير قيمة الخاصية هو تغيير قيمة النص.

يمكن من خلال استخدام setAttribute() الطريقة أو خاصية العنصر nodeValue لإكمال هذه المهمة.

استخدام setAttribute() لتغيير الخاصية

setAttribute() الطريقةتعيين قيمة الخاصية القائمة، أوإنشاء خاصية جديدة.

setAttribute() يمكن لتلك الطريقة تغيير قيمة الخاصية. إذا لم تكن الخاصية موجودة، يتم إنشاء خاصية جديدة.

يغير هذا الكود خاصية category لعنصر <book>:

مثال 1

xmlDoc.getElementsByTagName("book")[0].setAttribute("category","طبخ");

جربها بنفسك

مثال توضيحي:

  1. افتراض books.xml تم تحميله إلى xmlDoc الصينية
  2. الحصول على العنصر الأول <book>
  3. تغيير قيمة الخاصية "category" إلى "طبخ"

مثال 2

التحقق من جميع عناصر <title> وإضافة خاصية جديدة:

x = xmlDoc.getElementsByTagName('title');
for (i = 0; i < x.length; i++) { 
    x[i].setAttribute("edition","الإصدار الأول");    
}

جربها بنفسك

ملاحظة:إذا لم تكن الخاصية موجودة،则会创建一个新的 خاصية (باسم محدد وقيمة محددة).

استخدام nodeValue لتغيير الخاصية

nodeValue الخاصية هيقيمة خاصية العنصر.

تغيير nodeValue يمكن تغيير قيمة الخاصية.

مثال

xmlDoc.getElementsByTagName("book")[0].getAttributeNode("category").nodeValue = ";

جربها بنفسك

مثال توضيحي:

  1. افتراض books.xml تم تحميله إلى xmlDoc الصينية
  2. الحصول على الخاصية "category" للعنصر الـ <book> الأول
  3. تعديل قيمة العقدة الخاصة بالخصائص إلى "طهي"