您好,匿名用户

这段简单的js代码怎么无法运行?

0 投票

问题描述

使用var opt = document.createElement("option")时出错,然后无法添加节点!

问题出现的环境背景及自己尝试过哪些方法

我自己测试了,就是在创建节点时有问题,并阻断了for循环。

相关代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>二级联动</title>
    <script>
        var arr1 = new Array();
        arr1[0] = new Array("丰台","海淀","昌平","朝阳");
        arr1[1] = new Array("静安","虹桥");
        arr1[2] = new Array("天河区","白云","海珠");
        arr1[3] = new Array("罗湖","福田","南山","宝安");
        arr1[4] = new Array("西湖","滨江","余杭","萧山");

        function change(city) {
            var value = city.value;
            var dst = document.getElementById("districts");
            if (value=="-1") {
                dst.innerHTML="<option>请选择</option>";
                return;
            }

            dst.options.length=0;


            var arr2 = arr1[value];

            for (var i = 0;i < arr2.length;i++) {
                alert("start");
                var opt = dst.createElement("option");
                alert("1");
                opt.innerText=arr2[i];
                alert("2");
                dst.appendChild(opt);
            }
        }
    </script>
</head>
<body>
    <select onchange="change(this)">
        <option value=-1>请选择</option>
        <option value="0">北京</option>
        <option value="1">上海</option>
        <option value="2">广州</option>
        <option value="3">深圳</option>
        <option value="4">杭州</option>
    </select>

    <select id="districts">
        <option>请选择</option>
    </select>

</body>
</html>

这到底是怎么回事??

用户头像 提问 4 天 @ Sion 中士 (1,354 威望)
分享到:

1个回答

0 投票
 
最佳答案

你看下报错内容就知道了,dom节点对象没有createElement方法

 var opt = dst.createElement("option"); //改为
 var opt = document.createElement("option");
用户头像 回复 4 天 @ Fiora 中士 (1,132 威望)
选中 5月12日 @Sion
提一个问题:

相关问题

0 投票
1 回复 39 阅读
用户头像 提问 2017年 3月7日 @ Nidalee 中士 (1,171 威望)
0 投票
1 回复 138 阅读
用户头像 提问 2017年 4月16日 @ Capricorn 中士 (1,093 威望)
0 投票
1 回复 87 阅读
0 投票
1 回复 135 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...