Javascript 变量将DOM元素处理为null。为什么会这样?
在这段代码中,我试图将DOM元素分配给变量,但变量得到值Javascript 变量将DOM元素处理为null。为什么会这样?,javascript,html,dom,Javascript,Html,Dom,在这段代码中,我试图将DOM元素分配给变量,但变量得到值null。为什么会这样?我犯了什么错误吗 <!DOCTYPE html> <html> <head> <title>Tasks</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-s
null
。为什么会这样?我犯了什么错误吗
<!DOCTYPE html>
<html>
<head>
<title>Tasks</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A simple task list for your day-to-day.">
<meta name="author" content="Bruno M. B. Sdoukos">
<meta name="keywords" content="task list, checklist">
<script>
var taskCreator = document.querySelector('#taskcreator');
var list = document.querySelector('ul');
var taskInput = document.querySelector('#taskinput');
</script>
</head>
<body>
<ul></ul>
<input type="text" id="taskinput">
<button id="taskcreator">Create new item</button>
</body>
</html>
任务
var taskCreator=document.querySelector(“#taskCreator”);
var list=document.querySelector('ul');
var taskInput=document.querySelector(“#taskInput”);
创建新项目
当浏览器执行javascrit时,还没有输入和按钮。
你可以用它来修理
<!DOCTYPE html>
<html>
<head>
<title>Tasks</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A simple task list for your day-to-day.">
<meta name="author" content="Bruno M. B. Sdoukos">
<meta name="keywords" content="task list, checklist">
</head>
<body>
<ul></ul>
<input type="text" id="taskinput">
<button id="taskcreator">Create new item</button>
<script>
var taskCreator = document.querySelector('#taskcreator');
var list = document.querySelector('ul');
var taskInput = document.querySelector('#taskinput');
taskCreator.addEventListener('click', function createNewTask(event) {
list.innerHTML += '<li>' + taskInput.value + '</li>'
})
</script>
</body>
</html>
任务
创建新项目
var taskCreator=document.querySelector(“#taskCreator”);
var list=document.querySelector('ul');
var taskInput=document.querySelector(“#taskInput”);
taskCreator.addEventListener('click',函数createNewTask(事件){
list.innerHTML+=''+taskInput.value+' '
})
或者在脚本中等待整个文件被解析
<script>
document.addEventListener("DOMContentLoaded", function () {
var taskCreator = document.querySelector('#taskcreator');
var list = document.querySelector('ul');
var taskInput = document.querySelector('#taskinput');
taskCreator.addEventListener('click', function createNewTask(event) {
list.innerHTML += '<li>' + taskInput.value + '</li>'
})
});
</script>
document.addEventListener(“DOMContentLoaded”,函数(){
var taskCreator=document.querySelector(“#taskCreator”);
var list=document.querySelector('ul');
var taskInput=document.querySelector(“#taskInput”);
taskCreator.addEventListener('click',函数createNewTask(事件){
list.innerHTML+=''+taskInput.value+' '
})
});
当浏览器执行javascrit时,还没有输入和按钮。 你可以用它来修理
<!DOCTYPE html>
<html>
<head>
<title>Tasks</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A simple task list for your day-to-day.">
<meta name="author" content="Bruno M. B. Sdoukos">
<meta name="keywords" content="task list, checklist">
</head>
<body>
<ul></ul>
<input type="text" id="taskinput">
<button id="taskcreator">Create new item</button>
<script>
var taskCreator = document.querySelector('#taskcreator');
var list = document.querySelector('ul');
var taskInput = document.querySelector('#taskinput');
taskCreator.addEventListener('click', function createNewTask(event) {
list.innerHTML += '<li>' + taskInput.value + '</li>'
})
</script>
</body>
</html>
任务
创建新项目
var taskCreator=document.querySelector(“#taskCreator”);
var list=document.querySelector('ul');
var taskInput=document.querySelector(“#taskInput”);
taskCreator.addEventListener('click',函数createNewTask(事件){
list.innerHTML+=''+taskInput.value+' '
})
或者在脚本中等待整个文件被解析
<script>
document.addEventListener("DOMContentLoaded", function () {
var taskCreator = document.querySelector('#taskcreator');
var list = document.querySelector('ul');
var taskInput = document.querySelector('#taskinput');
taskCreator.addEventListener('click', function createNewTask(event) {
list.innerHTML += '<li>' + taskInput.value + '</li>'
})
});
</script>
document.addEventListener(“DOMContentLoaded”,函数(){
var taskCreator=document.querySelector(“#taskCreator”);
var list=document.querySelector('ul');
var taskInput=document.querySelector(“#taskInput”);
taskCreator.addEventListener('click',函数createNewTask(事件){
list.innerHTML+=''+taskInput.value+' '
})
});
在构建DOM之前,将对JavaScript代码进行评估。因此,代码查找的元素将不在DOM中。将
移动到
标记之前。在创建dom内容之前执行脚本。将脚本放在页面末尾修复加载问题后,您还有另一个问题。代码list+=''+taskInput.value+' '
毫无意义。您将DOM元素视为字符串。这不是向DOM添加元素的方式。在构建DOM之前,将对JavaScript代码进行评估。因此,代码查找的元素将不在DOM中。将
移动到
标记之前。在创建dom内容之前执行脚本。将脚本放在页面末尾修复加载问题后,您还有另一个问题。代码list+=''+taskInput.value+' '
毫无意义。您将DOM元素视为字符串。这不是向DOM添加元素的方式。这仍然是错误的。。。代码中有两个问题,您修复了一个。同意,代码中有两个问题。(列表+='