ใน JavaScript ของโรงเรียนเก่าคุณสามารถทำได้:
document.body.innerHTML = '<p id="foo">Some HTML</p>' + document.body.innerHTML;
ตอบกลับความคิดเห็นของคุณ:
[... ] ฉันสนใจที่จะประกาศที่มาของแอตทริบิวต์และเหตุการณ์ขององค์ประกอบใหม่ไม่ใช่innerHTMLขององค์ประกอบ
คุณต้องฉีด HTML ใหม่ลงใน DOM แม้ว่า; นั่นเป็นเหตุผลที่innerHTMLใช้ในตัวอย่าง JavaScript ของโรงเรียนเก่า innerHTMLของBODYองค์ประกอบใช้ได้กับ HTML ใหม่ เราไม่ได้สัมผัส HTML ที่มีอยู่ภายในไฟล์BODY.
ฉันจะเขียนตัวอย่างข้างต้นอีกครั้งเพื่อชี้แจงสิ่งนี้:
var newElement = '<p id="foo">This is some dynamically added HTML. Yay!</p>';
var bodyElement = document.body;
bodyElement.innerHTML = newElement + bodyElement.innerHTML;
// note that += cannot be used here; this would result in 'NaN'
การใช้เฟรมเวิร์ก JavaScript จะทำให้โค้ดนี้มีรายละเอียดน้อยลงและเพิ่มความสามารถในการอ่าน ตัวอย่างเช่น jQuery อนุญาตให้คุณทำสิ่งต่อไปนี้:
$('body').prepend('<p id="foo">Some HTML</p>');