任何人都可以帮助解决此错误吗?
控制台:
Uncaught TypeError: Cannot read property 'innerHTML' of null
at HTMLButtonElement.<anonymous> (script.js:5)
html代码:
<!DOCTYPE html>
<html lang='en'>
<head>
<title>Eventy</title>
<meta charset="utf-8">
</head>
<body>
<ul id="list">
<li>item 0</li>
</ul>
<button id="addElem">Add</button>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
的script.js:
var add = document.getElementById('addElem');
var list = document.getElementById('Lista');
add.addEventListener('click', function(){
list.innerHTML += '<li>item</li>'
});
var newLi = document.getElementsByTagName('li');
for (var i = 0; i < newLi.length; i++) {
newLi[i]
}
点击“添加”按钮后,我想获得新的'li'元素。谢谢你的帮助!
答案 0 :(得分:0)
似乎有一个错字。您只需将var list = document.getElementById('Lista');
重命名为var list = document.getElementById('list');
,然后就可以了。检查下面(单击运行代码片段) -
var add = document.getElementById('addElem');
var list = document.getElementById('list');
add.addEventListener('click', function(){
list.innerHTML += '<li>item</li>'
});
var newLi = document.getElementsByTagName('li');
for (var i = 0; i < newLi.length; i++) {
newLi[i]
}
<ul id="list">
<li>item 0</li>
</ul>
<button id="addElem">Add</button>
答案 1 :(得分:0)
您没有任何ID为** Lista *的元素。
这就是为什么JavaScript无法访问具有不存在ID的元素,因此innerHTML的属性为null。
编辑:将列表的变量getElementById值更改为“list”。
答案 2 :(得分:0)
正如上面评论中提到的adeneo,当您确实需要ID为Lista
的元素时,您正在查询标识为list
的元素:
var add = document.getElementById('addElem');
var list = document.getElementById('list');
add.addEventListener('click', function() {
list.innerHTML += '<li>item</li>'
});
var newLi = document.getElementsByTagName('li');
for (var i = 0; i < newLi.length; i++) {
newLi[i]
}
<!DOCTYPE html>
<html lang='en'>
<head>
<title>Eventy</title>
<meta charset="utf-8">
</head>
<body>
<ul id="list">
<li>item 0</li>
</ul>
<button id="addElem">Add</button>
<script type="text/javascript" src="script.js"></script>
</body>
</html>