Javascript 获取要从具有DOM的div中删除的复选框的值
我怀疑选择并验证Javascript 获取要从具有DOM的div中删除的复选框的值,javascript,dom,checkbox,Javascript,Dom,Checkbox,我怀疑选择并验证复选框是否在div中使用id=“div1”选中了复选框,然后在另一个divid=“box”中使用id=“box”添加该复选框,结果是复选框->div.id=div1->divbox.id=box 我有这个基本函数来创建复选框,插入div1,并将div1添加到div框,这是有效的,我不放css代码,因为不需要 function createCheckBox() { //count var count = 0; //create div1 var div1
复选框是否在div中使用id=“div1”
选中了复选框,然后在另一个divid=“box”
中使用id=“box”
添加该复选框,结果是复选框->div.id=div1->divbox.id=box
我有这个基本函数来创建复选框
,插入div1
,并将div1
添加到div框
,这是有效的,我不放css
代码,因为不需要
function createCheckBox() {
//count
var count = 0;
//create div1
var div1 = document.createElement('div');
div1.id = "div1";
div1.style.fontSize = "20px";
//div box
var divbox = document.createElement('div');
divbox.id = "box";
//checkbox
var checkbox = document.createElement('input');
checkbox.type = "checkbox";
checkbox.name = "checkBox" + (count++);
checkbox.id = checkbox.name;
var label = document.createElement('label')
label.htmlFor = "id";
label.appendChild(document.createTextNode("checkBox" + (count++)));
var br = document.createElement('br');
div1.appendChild(checkbox);
div1.appendChild(label);
div1.appendChild(br);
divbox.appendChild(div1);
document.body.appendChild(divbox);
}
我的疑问是选择复选框复选框并返回是否选中了
在这个函数removeCheckBox
中,我想得到checkbox的值
通过这种方式divbox.id=box->div.id=div1->checkbox.checkbox.checkbox.checkbox
function removeCheckBox() {
//box
var divbox = document.getElementById("box");
//inside divbox select element with id = div1
var div1 = divbox.getElementById("div1");
for (var i = 0; div1.childNodes.length; i++) {
if (div1.childNodes[i].checked) {
alert("CheckBox is checked");
//remove from div1
div1.removeChild(div1.childNodes[i]);
} else {
alert("CheckBox is not checked");
}
}
}
有什么建议吗?代码中有很多问题。您的函数应该如下所示:
function selectCheckBox() {
//box
var box = document.getElementById("box");
//div1
var div1 = document.getElementById("div1"); //should be document not box
for (var i = 0; i < div1.childNodes.length; i++) {//should be condition i < div1.childNodes.length, also not spelling of length
if (div1.childNodes[i].type == 'checkbox') { //make sure it is a checkbox first
if (div1.childNodes[i].checked) {
alert("CheckBox is checked");
} else {
alert("CheckBox is not checked");
}
}
}
}
函数selectCheckBox(){
//盒子
var-box=document.getElementById(“box”);
//第一组
var div1=document.getElementById(“div1”);//应该是document而不是box
对于(var i=0;i
代码中有很多问题。您的函数应该如下所示:
function selectCheckBox() {
//box
var box = document.getElementById("box");
//div1
var div1 = document.getElementById("div1"); //should be document not box
for (var i = 0; i < div1.childNodes.length; i++) {//should be condition i < div1.childNodes.length, also not spelling of length
if (div1.childNodes[i].type == 'checkbox') { //make sure it is a checkbox first
if (div1.childNodes[i].checked) {
alert("CheckBox is checked");
} else {
alert("CheckBox is not checked");
}
}
}
}
函数selectCheckBox(){
//盒子
var-box=document.getElementById(“box”);
//第一组
var div1=document.getElementById(“div1”);//应该是document而不是box
对于(var i=0;i
基于所有这些注释,存在解决方案(代码注释中的描述):
函数removeCheckBox(){
var-box=document.getElementById('box');
//获取box div中的所有选中复选框
var chk=box.querySelectorAll('[type=“checkbox”]:checked');
对于(var i=0;i有解决方案(代码注释中的描述),基于所有这些注释:
函数removeCheckBox(){
var-box=document.getElementById('box');
//获取box div中的所有选中复选框
var chk=box.querySelectorAll('[type=“checkbox”]:checked');
对于(var i=0;ivar div1=divbox.getElementById(“div1”);
…是打字divbox
还是什么?因为我看不到任何定义的divbox
。那应该是var div1=document.getElementById(“div1”);
或者可能只是var div1=box.getElementById(“div1”)
,但那没有意义。好吧,我将框编辑为divbox
,但是div1
在divbox
内,这没关系。你定义div1
通过他的id
获取元素。你在removeCheckBox
函数中没有定义divbox
。它是未定义的。另外,键入:childNodes.lenght
,length
notlenght
有一个fiddle示例,删除通过按钮单击调用的所有复选框,var div1=divbox.getElementById(“div1”)
…是打字错误divbox
还是什么?因为我看不到任何定义的divbox
。那应该是var div1=document.getElementById(“div1”);
或者,可能只是var div1=box.getElementById(“div1”)
,但那没有意义。好吧,我将框编辑为divbox
,但是div1
在divbox
内,这没关系。你定义div1
通过他的id
获取元素。你在removeCheckBox
函数中没有定义divbox
。它是未定义的。另外,键入:childNodes.lenght
,length
notlenght
有一个小提琴示例,删除了通过单击按钮调用的所有复选框,