เปลี่ยนค่าตัวเลือก XML DOM

คุณสมบัติ nodeValue ใช้เพื่อเปลี่ยนค่าของตัวอย่าง

เมธอด setAttribute() ใช้เพื่อเปลี่ยนค่าคุณสมบัติ

ตัวอย่าง

ตัวอย่างที่ใช้ไฟล์ XML books.xml

ฟังก์ชัน loadXMLDoc()ตั้งแต่ตัวอย่างนี้นั้น มีการนำเข้าไฟล์ XML โดย JavaScript ด้านนอก

เปลี่ยนข้อความตัวอย่างขององค์ประกอบ
ตัวอย่างนี้ใช้คุณสมบัติ nodeValue เพื่อเปลี่ยนค่าของข้อความตัวอย่างขององค์ประกอบ <title> แรกใน "books.xml"
ผ่านการใช้ setAttribute ในการเปลี่ยนค่าคุณสมบัติ
ตัวอย่างนี้ใช้เมธอด setAttribute() เพื่อเปลี่ยนค่าคุณสมบัติ "category" ของ <book> แรก
ผ่านการใช้ nodeValue เพื่อเปลี่ยนค่าคุณสมบัติ
ตัวอย่างนี้ใช้คุณสมบัติ nodeValue เพื่อเปลี่ยนค่าของคุณสมบัติ "category" ของ <book> แรก

เปลี่ยนค่าองค์ประกอบ

ใน DOM องค์ประกอบทุกชนิดเป็นตัวเลือก องค์ประกอบตัวอย่างไม่มีค่าของข้อความ

ข้อความขององค์ประกอบเก็บอยู่ในเครื่องมือย่อย ซึ่งเรียกว่าเครื่องมือย่อยข้อความ

วิธีเปลี่ยนข้อความขององค์ประกอบคือเปลี่ยนค่าของเครื่องมือย่อย (ข้อความตัวอย่าง) นี้

เปลี่ยนค่าของข้อความตัวอย่าง

มีคุณสมบัติ nodeValue สามารถใช้เพื่อเปลี่ยนค่าของข้อความตัวอย่าง

บรรดาการเขียนรหัสต่อไปนี้เปลี่ยนค่าของข้อความตัวอย่างขององค์ประกอบ <title> แรก

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Hello World";

ตัวอย่างที่ชี้แจง:

  • ด้วยการใช้ loadXMLDoc() เปลี่ยนค่าของ "books.xml" โหลด xmlDoc ใน
  • ดึงข้อความตัวอย่างขององค์ประกอบ <title> แรก
  • เปลี่ยนค่าของข้อความตัวอย่างของตัวอย่างนี้เป็น "Hello World"

TIY

วนผ่านและเปลี่ยนค่าของข้อความตัวอย่างทั้งหมดขององค์ประกอบ <title>TIY

เปลี่ยนค่าคุณสมบัติ

ใน DOM คุณสมบัติก็เป็นตัวเลือกหนึ่ง ต่างจากตัวเลือกตัวอย่าง ตัวเลือกคุณสมบัติมีค่าของข้อความ

วิธีเปลี่ยนคุณสมบัติคือเปลี่ยนค่าของมัน

สามารถทำงานนี้ด้วยการใช้เมธอด setAttribute() หรือด้วยอัตรายะ nodeValue ของตัวแปลงตัวอย่าง

ผ่านการใช้ setAttribute() ในการเปลี่ยนคุณสมบัติ

setAttribute() มีความหมายในการตั้งค่าค่าของคุณสมบัติที่มีอยู่แล้ว หรือสร้างคุณสมบัติใหม่

รหัสที่แต่งตั้งด้านล่างเปลี่ยนคุณสมบัติ category ของ <book> องค์ประกอบ:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("category","child");

ตัวอย่างที่ชี้แจง:

  • ด้วยการใช้ loadXMLDoc() เปลี่ยนค่าของ "books.xml" โหลด xmlDoc ใน
  • เลือก <book> องค์ประกอบแรก
  • เปลี่ยนค่าของคุณสมบัติ 'category' ให้เป็น 'child'

TIY

เลือกทั้งหมด <title> และเพิ่มองค์ประกอบใหม่:TIY

หมายเหตุ:ถ้าองค์ประกอบคุณสมบัติไม่มีอยู่ จะทำการสร้างองค์ประกอบคุณสมบัติใหม่ (ที่มีชื่อและค่าที่กำหนด)

ด้วยการใช้ nodeValue เปลี่ยนคุณสมบัติ

nodeValue องค์ประกอบสามารถใช้เพื่อเปลี่ยนค่าขององค์ประกอบคุณสมบัติ:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0];
y=x.getAttributeNode("category");
y.nodeValue="child";

ตัวอย่างที่ชี้แจง:

  • ด้วยการใช้ loadXMLDoc() เปลี่ยนค่าของ "books.xml" โหลด xmlDoc ใน
  • เลือกคุณสมบัติ 'category' ของ <book> องค์ประกอบแรก
  • เปลี่ยนค่าของตัวแปรภายในองค์ประกอบ 'child'

TIY