+ 1
Why is my childNode returning undefined?
I'm trying to split the first p tag into 3 separate lines by using javascript. but I'm getting a return value of undefined. Can someone pls help me? https://code.sololearn.com/WA14a102a7a7
1 Respuesta
+ 1
You're running into the problem because a span element doesn't have a childNode property.  It has childNodes( notice the s at the end there ), firstChild, lastChild but not childNode.  innerHTML can do what you want with less code, though.
I'm not sure why but I also ran into a "breakLineFunction already declared" JavaScript error while running your code on Sololearn Playground also.  This message disappeared when I moved your breakLineFunction definition into your DOMContentLoaded callback.
Your for-loop also iterated i over the 0, 1... like you probably want but then it iterated over 'entries', 'keys', 'values', 'forEach', 'length', 'item' which you probably don't want.  For this reason, I would use the forEach method like below.
This works like you describe:  
  document.addEventListener("DOMContentLoaded", () => {
    const breakLineFunction = () => {
        const spans = document.querySelectorAll("span");
        let newLine = "";
        spans.forEach((span) => {
            newLine += span.innerHTML + "<br><br>";
        });
        document.querySelector(".lineBreak").innerHTML = newLine;
    }
    document.querySelector("#fixLineBreak").addEventListener("click", breakLineFunction);
  })



