2014-03-27 93 views
3

有些奇怪,我不明白。Javascript:未终止的字符串文字

我的代码:

$("#loadbtn").click(function(e) { 
    $html = '<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script> dsfdsf'; 
    $("#content").html($html); 
}); 

当我运行在浏览器页面,则返回错误说SyntaxError: unterminated string literal。我看不到任何错误。你能告诉我那里有什么问题吗?

谢谢。

+0

是你的$ HTML变种定义? – Flasz

回答

5

</script>总是抛出奇怪的错误在JavaScript,因为它实际上是关闭当前的脚本,即使在一个字符串,尝试分裂它

$html = '<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></scr'+'ipt> dsfdsf'; 
+1

你看到的另一个常见的是'<\/script>',JavaScript被认为是'',但浏览器没有。或者更好的是,将代码放在一个单独的'.js'文件中。 :-) –

+0

@ T.J.Crowder - 或创建脚本元素,并将其插入头部。 – adeneo

+0

@ adeneo:的确如此,但一般情况是,如果代码“”标签之间不是*本身*,那么代码将非常好。例如,如果它在一个外部的'.js'文件中,它会很好,并按需要工作。你只需要担心''带有脚本标记直接包含的代码,而不是从一个引用的文件中。 –

相关问题