#javascript #html #dom
#javascript #HTML #дом
Вопрос:
Я хочу создать программу, которая добавляет текстовое поле каждый раз, когда вы нажимаете кнопку. Вот мой код:
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>
Когда я запускаю его, он выдает ошибку. Почему это происходит?
Комментарии:
1. Ваше имя функции
AddLine
, но вы использовалиAddline
обработчик onclick2. Голосование за закрытие, потому что проблема вызвана опечаткой.
Ответ №1:
Сначала вы должны определить linelist
внешние функции с let
помощью или 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 />";
}
Комментарии:
1. Это верно только в строгом режиме, который этот код не использует. Здесь он создает неявный глобальный, который является плохой практикой, но отлично функционирует, а не является причиной проблемы,