如果我将其复制并粘贴到我的网页中:
<script>
$(function(){
$("#startDate").datepicker();
});
</script>
我在浏览器中收到此错误:
Uncaught SyntaxError: Unexpected token ILLEGAL
然而,使用完全相同的代码,如果我只是删除最后的分号并再次添加它,代码将在VS 2012中格式化,然后它就可以了。为什么?我不认为间距与JavaScript有关系吗?
如果我粘贴相同的代码并自己添加间距,它仍然无效。我必须手动输入,或删除并再次添加分号。这可能是个错误吗?我错过了一些基本的东西吗?
这是页面中的整个代码:
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="~/Scripts/jquery-1.7.1.min.js"></script>
<script src="~/Scripts/jquery-ui-1.8.20.min.js"></script>
<script>
$(function(){
$("#startDate").datepicker();
});
</script>
</head>
<body>
<div>
<h2>Home View</h2>
<input type="text" id="startDate">
</div>
</body>
</html>
只是要完整,这是有效的代码:
<script>
$(function () {
$("#startDate").datepicker();
});
</script>
除了间距之外,我没有看到差异。就像我说的那样,我可以使用精确代码和间距,除非我删除并添加分号,否则它会失败。
答案 0 :(得分:1)
查看浏览器中的代码 - 点击查看源代码 - 并仔细检查您的IDE是否没有添加一些破坏javascript的额外代码。
Chrome中的Ctrl-U以查看来源。
答案 1 :(得分:1)
分号后面有一些需要清理的垃圾字符。
如果我将SO中的确切文本粘贴到Wordpad ++中,那么它会显示:
<script>
$(function(){
$("#startDate").datepicker();
});???
</script>
其中显示了一些非法字符。