मैंने आंतरिक HTML और एपेंड चाइल्ड के बीच अंतर को पहचानने की कोशिश की। मुझे पता है कि आंतरिक HTML वर्तमान नोड की सामग्री को मिटा देता है और इसे नई सामग्री से बदल देता है और इसे फिर से पार्स करता है। हालाँकि, मैं देख रहा हूँ कि परिणाम मेरी अपेक्षा के अनुरूप नहीं है। ऐसे कैसे आता है? (मैं गूगल क्रोम का उपयोग कर रहा हूँ)

window.addEventListener("load", function() {
var a = document.createElement("h1");
var b = document.createTextNode("Hello World");
a.appendChild(b);
document.getElementById("1").innerHTML = a; //result = [object HTMLHeadingElement]

var c = "<h1>HEllo WORLD</h1>";
document.getElementById("2").innerHTML = c ; //result = Hello World
});
-2
Nathan Lee 1 नवम्बर 2018, 10:19

1 उत्तर

सबसे बढ़िया उत्तर

आपके पास आपके प्रश्न का उत्तर है: आंतरिक HTML लक्षित टेक्स्ट नोड में "जैसा है" सामग्री को प्रतिस्थापित करता है। इसलिए यदि आप आंतरिक HTML फ़ंक्शन को स्ट्रिंग प्रदान नहीं करते हैं तो यह आपके द्वारा दी गई वस्तु पर "toString" लागू होने का परिणाम प्रदर्शित करेगा। आपके मामले में "ए" एक [ऑब्जेक्ट HTMLHeadingElement] है।

1
C.Vergnaud 1 नवम्बर 2018, 07:28