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>
添加回答
举报
0/150
提交
取消
