How to change the content of first child or the last child using innerHTML property? | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
0

How to change the content of first child or the last child using innerHTML property?

23rd Feb 2020, 1:55 PM
ARSHIA CHAUDHURI
ARSHIA CHAUDHURI - avatar
4 Answers
+ 6
Have you even tried this? it's just an assignment with = operator. rest of the things are already explained in question. parentNode.firstChild.innerHTML="New Content";
23rd Feb 2020, 2:00 PM
🇮🇳Omkar🕉
🇮🇳Omkar🕉 - avatar
+ 3
ARSHIA CHAUDHURI , Would have been easy to debug if you shared the code. As I can't see the code I'll just go with my assumption. If you have as structure like this : ``` <div id="parent"> <div>Old text 1</div> <div>Old text 1</div> </div> ``` firstChild will NOT retrieve <div>Old text 1</div> But if you have : `` <div id="parent"><div>Old text 1</div><div>Old text 1</div> </div> ``` It'll work perfectly. The reason first approach fails is that firstChild will return any DOM element which is first inside the #parent *even if it's an empty textNode* So in first approach you can see there is some space after opening <div> , this space (textNode) is considered as the firstChild of #parent. So you can either use second html markup or use `firstElementChild` instead of `firstChild` https://developer.mozilla.org/en-US/docs/Web/API/ParentNode/firstElementChild also using `children[0]` will give intended result. Feel free to share your code and ask any other doubts regarding this.
23rd Feb 2020, 2:33 PM
🇮🇳Omkar🕉
🇮🇳Omkar🕉 - avatar
+ 1
Tried the following..but still it is not showing "new text". The original html page is being shown everytime. var a = document.getElementById("demo"); a.firstChild.innerHTML="new text" ;
23rd Feb 2020, 2:14 PM
ARSHIA CHAUDHURI
ARSHIA CHAUDHURI - avatar
0
Thank you so much
23rd Feb 2020, 10:45 PM
ARSHIA CHAUDHURI
ARSHIA CHAUDHURI - avatar