js初学者,想实现一个效果
选中一堆input选择框,谁被选中了,点击删除按钮,就删除被选中的那个input
有两个问题
1、为什么使用foreach去打印每个input的checked是否为true时会报错?for却可以?报错内容(Uncaught TypeError: items.forEach is not a function)
2、for循环那里,上面的是从后往前遍历,下面的是从前往后遍历,为什么使用从前往后遍历的方式时,选择多个input,但是只能删除第一个被选中的,但是使用从后往前遍历的方式时,选择了哪几个,哪几个就都被删除了呢?
不太理解这个区别在那儿,麻烦大佬说一下,我是缺少了哪部分的知识点,好去看看~~~~~
代码内容
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div>
<h1>这是你的邮箱</h1>
<button onclick="delItem()">删除所有邮件</button>
<form action="">
<label for=""><input type="checkbox" class="ip1">足球</label>
<label for=""><input type="checkbox" class="ip1">篮球</label>
<label for=""><input type="checkbox" class="ip1">台球</label>
<label for=""><input type="checkbox" class="ip1">乒乓球</label>
</form>
</div>
<script>
var items=document.getElementsByClassName('ip1');
var form=document.getElementsByTagName('form')[0];
var labels=document.getElementsByTagName('label');
function delItem() {
console.log(items);
items.forEach(function (item,index) {
console.log(item[index].checked);
})
//从后往前
for(var i=items.length-1;i>-1;i--){
//从前往后
// for(var i=0;i<items.length;i++){
if(items[i].checked){
console.log(labels[i]);
console.log(i);
form.removeChild(labels[i]);
}
}
}
</script>
</body>
</html>
翻翻过去那场雪
相关分类