javascript - 为何动态创建删除元素无法一次性删除?
巴扎黑
巴扎黑 2017-04-10 17:55:29
[JavaScript讨论组]

刚学不久js看教程高了这么一个效果动态添加然后 选择批量删除,现在的问题是 批量选择LI后 如果是连续选择的无法全部最后一个删除,分开选择则可以全部删除
页面地址:http://t.cn/RqPkaEW

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <input type="text" id="txt" /> <input type="button" id="btn" value="添加" /><input type="button" id="btn2" value="删除" />
    <ul id="c">
        
    </ul>
    <style>
        #c li {padding: 5px 0}
    </style>
    
    <script>
        var t=document.getElementById('txt');
        var btn=document.getElementById('btn');
        var btn2=document.getElementById('btn2');
        var c=document.getElementById('c');
        btn.onclick=function(){
            var li = document.createElement('li');
            li.innerHTML=t.value;
            li.click = false;
            li.onclick = function(){
                if(!li.click){
                    this.style.backgroundColor='#eee';
                }else{
                    this.style.backgroundColor='white';
                }
                
                this.click = !this.click;
            }
            t.value = '';
            var aLi = c.getElementsByTagName('li');
            if(c.children[0]){
                if(aLi.length >=10){
                    c.removeChild(c.lastElementChild);
                }
                c.insertBefore(li,c.children[0]);
            }else{
                c.appendChild(li);
            }
        }
        btn2.onclick=function(){
            var li = c.getElementsByTagName('li');
            for(var i =0;i<li.length;i++){
                if(li[i].click){
                    c.removeChild(li[i]);
                }
            }
        }
    </script>
</body>
</html>
巴扎黑
巴扎黑

全部回复(2)
阿神

getElementsByTagName返回的是NodeList 是实时的 每次removeChild之后 lilength就会变化 下一个节点就会变成当前节点

每次removeChild之后加个continue 跳过本次计数就可以了

伊谢尔伦

试试empty()方法

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号