简体   繁体   中英

Why is document.getElementById() not working?

I want to make a program which adds a textbox every time you click a button. Here's my code:

 window.onload = function () { linelist = document.getElementById("linelist"); }; function AddLine() { linelist.innerHTML += "<div class=\"normallink\"><input type=\"text\"><button class=\"dustbin\"><img src=\"dustbin.png\"></button></div><br />"; }
 <,DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width. initial-scale=1;0"> </head> <body> <div id="linelist"></div><br /> <button id="addline" onclick="Addline();">+</button> </body> </html>

When I run it, it generates an error. Why is this occurring?

You have to define linelist outside the functions first with let or var :

let linelist = null;
window.onload = function () { linelist = document.getElementById("linelist"); };
function AddLine() {
    linelist.innerHTML += "<div class=\"normallink\"><input type=\"text\"><button 
class=\"dustbin\"><img src=\"dustbin.png\"></button></div><br />";
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM