代码在JSFiddle环境中运行,但在运行时不运行

时间:2016-06-21 22:03:19

标签: javascript html jsfiddle

因此,在处理另一个问题here时,我从@ earl3s得到了一个很好的答案,并获得了jsfiddle工作的链接,它似乎工作正常但是当试图运行它时repl.it它给了我一个错误,当我尝试在本地运行它时,我在第19行读到了一条错误“Uncaught TypeError:无法读取属性'添加'。”我可能提交错误或代码可能写得不正确,我们将不胜感激。这是origninal代码:

<script>
    if (window.location.href.substring(0,9) === "http://ww") {
    var home_var = "bing.com";    
    }
    else if (window.location.href.substring(0,9) === "https://p") {
    var home_var = "https://px.multiscreensite.com/index.php?url=bing.com";
    }
    else {
    var home_var = "1";
    }
    var select= document.getElementById("mySelect");
    var option = document.createElement("option");
    option.text = "Hope Page";
    option.value = home_var;
    select.add(option);
    console.log(home_var);
</script>

<select id="mySelect" OnChange="window.location.href=this.value">
    <option>Tagged Stuff and Navigation</option>
</select>

1 个答案:

答案 0 :(得分:2)

JSFiddle中,JavaScript会在文档加载后自动加载。在repl中,您在dom实际加载之前插入了JavaScript,因此mySelect不存在。您必须在dom加载后添加JavaScript,即在body标记的末尾。

这里是working example