【发布时间】:2016-07-07 01:13:59
【问题描述】:
我试图了解下面代码中innerHTML 的行为。每次点击按钮时,我都想永久添加一个新的div 块,但似乎新块只弹出一瞬间然后消失。
有谁知道为什么会这样,以及如何解决?
另外,当我将代码更改为使用appendChild 而不是innerHTML 时,我收到一条错误消息Argument 1 of Node.appendChild is not an object.。我不确定这意味着什么。
非常感谢任何帮助!
下面是代码:
<DOCTYPE html>
<html>
<body>
<form onSubmit="loadData()">
<input type="submit" id="button">
</form>
<div id="block">List of items:</div>
<script>
function loadData(){
document.getElementById("block").innerHTML += "<div>item</div>";
// document.getElementById("block").appendChild("<div>item</div>");
};
</script>
</body>
</html>
【问题讨论】:
-
您正在使用导致重新加载的提交按钮。使用普通按钮就不会出现这个问题。
-
所以我用这个
<button id="button">Submit</button>替换了输入标签。当我按下按钮时似乎什么都没有发生 -
那是因为您的代码只添加了“onSubmit”项。查看我的解决方案和 cmets...
-
啊,好吧,那部分就解决了。您是否碰巧知道为什么 appendChild 在这种情况下不起作用?谢谢!
标签: html innerhtml appendchild