Javascript非法令牌错误

原谅我,如果这是一个简单的问题,但我似乎无法找到为什么这个代码:

function create_content(c)
        {
            var html = "<div id='header'>"+c+"</div>";
            if(c == "links")
            {
                var ul = "<ul><li><a href='http://www.mylink.com'>My Link 1</a></li>
<li><a href='http://www.mylink2.co.uk'>My Link 2</a></li></ul>";
                html = html + ul;
            }
            return(html);
        }

在Chrome(win)中给我这个错误:

未捕获的SyntaxError:意外的令牌非法

在以“var ul =”开头的行上

任何建议将有助于谢谢!


您要在结束</li>和开始<li>之间的ul字符串中插入换行符。 JavaScript字符串文字本身不能像这样跨越多行,除非你自己

  • 小道在每行,但最后的(如伊沃·韦策尔说):

    var ul = "<ul><li><a href='http://www.mylink.com'>My Link 1</a></li>
    <li><a href='http://www.mylink2.co.uk'>My Link 2</a></li></ul>";
    
  • 打破它们并连接部分,如下所示:

    var ul = "<ul><li><a href='http://www.mylink.com'>My Link 1</a></li>";
    ul += "<li><a href='http://www.mylink2.co.uk'>My Link 2</a></li></ul>";
    

    (为了保留换行符,你可以在某处放置n ,但是在HTML中它无关紧要。)


  • 我发现我需要在结束标签中避开正斜杠。 即;

    </script>
    

    要么

    </form>
    

    然后,“未捕获的SyntaxError:意外的令牌非法”错误消失,我的代码处理正常。

    链接地址: http://www.djcxy.com/p/58075.html

    上一篇: Javascript Illegal Token Error

    下一篇: PHP connection error with mysqli