在下面的代码中,输入的值应该从数组中的每个元素中获取,并且应该创建一个新的div,其输入值在innerHtml中。我不知道为什么会有这么长的错误。价值未定义?
<input type="checkbox" class="checkboxnewdivs" id="checkboxnewdivs" name="checkboxnewdivs" value="divsone">
<input type="checkbox" class="checkboxnewdivs" id="checkboxnewdivs" name="checkboxnewdivs" value="divstwo">
<input type="checkbox" class="checkboxnewdivs" id="checkboxnewdivs" name="checkboxnewdivs" value="divsthree">
<button onclick="myFunction()">Click me</button>
<div id="container"></div>
function myFunction() {
let array = [];
var checkboxnewdivs = document.querySelectorAll('input[name="checkboxnewdivs"]:checked');
for (var i = 0; i < checkboxnewdivs.length; i++) {
var iddivs = array.push(checkboxnewdivs[i].value);
var div_new = document.createElement("DIV");
div_new.innerHTML = "ID div:"+iddivs ;
document.getElementById("container").appendChild(div_new);
}
}
var checkboxnewdivs = document.querySelectorAll('input[name="checkboxnewdivs"]:checked').value;
应该
var checkboxnewdivs = document.querySelectorAll('input[name="checkboxnewdivs"]:checked');
第一个是试图从节点集合中获取value
属性,这显然是未定义的。
你也有一些错别字(双's'),没有在任何地方定义array
。在定义checkboxnewdivs
的地方定义它
工作演示:https://jsfiddle.net/mitya33/m9L2dvz5/1/