uwenhao2008 2017-11-14 03:06 采纳率: 16.7%
浏览 661

奇怪的打印结果,为什么删除的内容会出现间隔呢?

 <!DOCTYPE html>
<html>
<head>
    <title>Ajax案例一</title>
    <meta charset="utf-8"/>
</head>
<body>
    <!-- 二级联动 -->
    <select id="province">
        <option>请选择</option>
        <option>山东省</option>
        <option>辽宁省</option>
        <option>吉林省</option>
        <option>台湾省</option>
    </select>
    <select id="city">
        <option>请选择</option>
    </select>
    <script>
    var provinceEle=document.getElementById('province');
    provinceEle.onchange=function(){
        var city=document.getElementById('city');
        var opts = city.getElementsByTagName('option');
        for(var i=1;i<opts.length;i++){ //用于清除每次切换后的残余剩余option
            console.log(opts[i]);
            city.removeChild(opts[i]);
        }
        var province = provinceEle.value;   
        var pCities=[];
        switch(province){
            case "山东省":
            pCities=["山东1","山东2","山东3","山东4","山东5"];
            break;
            case "辽宁省":
            pCities=["辽宁1","辽宁2","辽宁3"] 
            break;
            case "吉林省":
            pCities=["吉林1","吉林2","吉林3","吉林4"]
            break;
            default :
            alert("不存在该省份城市信息");
        }
        for(var i=0;i<pCities.length;i++){
            var myOption=document.createElement("option");
            var textNode = document.createTextNode(pCities[i]);
            myOption.appendChild(textNode);
            document.getElementById('city').appendChild(myOption);
        }   
    }
    </script>
</body>
</html>

奇怪的是,我切换省份标签后得到的市域标签 为什么会出现删除了 山东1,山东3,山东5这种-间隔-的情况,应该是连续的才对吧,有高手能告诉我下产生的原因吗?

  • 写回答

2条回答

  • 两只小蚂蚁 2017-11-14 06:07
    关注

    因为你的opts变量和opts.length在每一次的removeChild之后都改变了,清除是从1开始为标记,所以每次都是从位置第二删除。实际上清除的循环
    只执行了三次,opts.length分别是6、5、4。图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)