Javascript未捕获的语法错误意外标识符错误
Posted
技术标签:
【中文标题】Javascript未捕获的语法错误意外标识符错误【英文标题】:Javascript uncaught syntaxerror unexpected identifier error 【发布时间】:2015-06-15 19:52:43 【问题描述】:基本上,该方法会打印一个包含值的列表,当我单击一个值时,会出现以下错误:Uncaught SyntaxError: Unexpected identifier on line 6。
因此,我无法将点击的值传递给 liveSearch 方法。我曾尝试在网上搜索以解决错误,但无济于事,我找不到解决方案。请指教。
function printSuggestResult(arrOfSuggestText,getRows)
var htmlStr = "<button id='dropdownB' href='#' class='dropdown-toggle btn btn-default'data-toggle='dropdown'>Found <span id='resultCount' class='badge'></span>  </b></button><ul class='list-group scrollable-menu'>";
for(var i=0; i<arrOfSuggestText.length; i++)
htmlStr += "<li class='list-group-item '>";
if(arrOfSuggestText[i] != "null")
htmlStr += '<a id="searchResult'+i+'" href="javascript:liveSearch('+arrOfSuggestText[i]+')" > '+arrOfSuggestText[i]+'</a>';
htmlStr += "</li>";
htmlStr += "</ul>";
document.getElementById('searchResultList').innerHTML = htmlStr;
$('#resultCount').text(getRows);
function liveSearch(getText)
var arrOfText = new Array();
var arrOfLat = new Array();
var arrOfLon = new Array();
getText = getText.replace(" ","+");
var testy = encodeURIComponent(getText);
【问题讨论】:
“我收到这个错误:Uncaught SyntaxError: Unexpected identifier。” 在哪一行? htmlStr += ' '+arrOfSuggestText[i]+'';htmlStr += '<a id="searchResult'+i+'" href="javascript:liveSearch('+arrOfSuggestText[i]+')" > '+arrOfSuggestText[i]+'</a>';
这一行有很多 " ' 错误。
你能帮我正确的语法吗?
可能还值得指出的是,您应该使用DOM manipulation 来避免为innerHTML
连接字符串而感到头疼
【参考方案1】:
在这一行
htmlStr += '<a id="searchResult'+i+'" href="javascript:liveSearch('+arrOfSuggestText[i]+')" > '+arrOfSuggestText[i]+'</a>';
这里具体'" href="javascript:liveSearch('+arrOfSuggestText[i]+')" > '
你尝试创建调用函数,但是如果你看到这个字符串的值,对于arrOfSuggestText[i] == 'qwe'
你可以看到类似的东西
href="javascript:liveSearch(qwe)"
浏览器会在qwe
上引发错误。
所以你只需要在like周围加上引号
'" href="javascript:liveSearch(\''+arrOfSuggestText[i]+'\')" > '
【讨论】:
有效!多亏了你,我学到了一些有价值的东西!非常感谢!以上是关于Javascript未捕获的语法错误意外标识符错误的主要内容,如果未能解决你的问题,请参考以下文章
从文本文件加载 Json 对象 - 返回未捕获的语法错误:意外标记“[”
WCF 跨域使用 Jsonp 错误未捕获语法错误:意外令牌: