Javascript Illegal Token Error
Forgive me if this is a simple problem but I can't seem to find why this code:
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);
}
Is giving me this error in Chrome (win):
Uncaught SyntaxError: Unexpected token ILLEGAL
On the line that starts with "var ul = "
Any advice would help thanks!
You are inserting a line break in your ul
string, between the closing </li>
and the opening <li>
. JavaScript string literals cannot span multiple lines like this by themselves, unless you
Trail a at each line but the last (as Ivo Wetzel says):
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>";
Break them and concatenate the parts, like this:
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>";
(To keep the newline there you would place a n
somewhere, but in HTML it won't matter.)
I found I needed to escape the forward slashes in my closing tags. ie;
</script>
or
</form>
Then the "Uncaught SyntaxError: Unexpected token ILLEGAL" Error went away and my code processed fine.
链接地址: http://www.djcxy.com/p/58076.html上一篇: 未捕获的SyntaxError:针对Chrome浏览器的意外令牌非法
下一篇: Javascript非法令牌错误