【问题标题】:Changing from input (type "button") to button tag does not work从输入(类型“按钮”)更改为按钮标签不起作用
【发布时间】:2017-09-25 18:05:20
【问题描述】:

我在 Stackoverflow 上查看 this question。接受的答案附有一个小提琴。我试图通过将按钮“类型”更改为按钮标签来稍微调整代码,并想出了这个 Fiddle。但我不知道为什么这不起作用。谁能指出我哪里出错了?

原小提琴:https://jsfiddle.net/hQKy9/

HTML

<div id="container"></div>
<input type="button" onclick="addDiv();" value="Click here to add div"/>

脚本

function addDiv() {
    var objTo = document.getElementById('container');
    var divtest = document.createElement("div");
    divtest.innerHTML = "new div";
    objTo.appendChild(divtest);
}

我的版本:https://jsfiddle.net/Miraj50/gdjpbewx/1/

HTML

<button class="but">hello</button>
<div id="container"></div>

脚本

var adddiv = document.querySelector('.but');
adddiv.addEventListener('click',addDiv);

function addDiv() {
    var objTo = document.getElementById('container');
    var divtest = document.createElement("div");
    divtest.innerHTML = "new div";
    objTo.appendChild(divtest);
}

【问题讨论】:

  • 在小提琴中,将负载类型更改为“onDomready”。
  • 总是为
  • 如果您只将输入更改为按钮,效果如下:jsfiddle.net/hQKy9/815

标签: javascript html


【解决方案1】:

将代码包装在 window.onload 中,如下所示:

这将允许加载项目,之后您可以绑定事件。

window.onload = function() {

var adddiv = document.querySelector('.but');
adddiv.addEventListener('click',addDiv);

function addDiv() {
        var objTo = document.getElementById('container');
        var divtest = document.createElement("div");
        divtest.innerHTML = "new div";
        objTo.appendChild(divtest);
}

}

【讨论】:

  • 哦!谢谢,以前没有遇到过这个功能。
  • 也感谢@Nisarg Shah 告诉我另一种方法!
  • 很高兴我能帮上忙。
猜你喜欢
  • 2013-07-19
  • 2011-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-24
  • 2018-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多