为什么javascript不运行

时间:2017-04-13 18:57:12

标签: javascript runtime runtime-error

我正在学习JavaScript。

我已经编写了这段代码,但它似乎没有运行。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<script language="javascript" type="text/javascript">
    function nav(){
        try{
            var str="<table border=1>";
            for (var n in navigator){
                str+="<tr><td>" + n + "</td></tr>";
                }
            str+="</table>
            return("jetzt wird das Ding aufgelistet: <br/>" + str);

        }catch(e){return(e);}

    }
    function writeit(){
    document.write(nav());
    }

</script>
<title>for learning purpos</title>
</head>

<body>
<form>
<script>
    document.write(nav());
</script>

<p>press the button to get the properties in navigator</p>
<input type="button" id="btnNavigator" value="get" onclick="writeit();"/>

</form>
</body>

</html>

2 个答案:

答案 0 :(得分:2)

你还没有关闭一根弦。

 str+="</table>";

答案 1 :(得分:0)

最佳做法是从开发人员选项卡查看控制台,检查页面。同样在底部的选项卡上,如果添加了库,则可以尝试javascript代码甚至jQuery。

您的代码在第13行出错,因为您没有关闭字符串,而是第30行Invalid or unexpected token

您可以使用此代码:

nav it's not defined

在您的HTML中,您可以使用:

    function navBuild(n) 
    {
        var tblS = "<table>";
        var tblE = "</table>";
        var strTrTd = "";
           for (i=1; i<=n; i++)
           {
             strTrTd = strTrTd + "<tr><td>" + i + "</td></tr>";
           }

        var strAll = tblS + strTrTd + tblE;

        console.log(strAll);
        document.getElementById("contentBox").innerHTML = strAll;

    }