我有以下尝试动态插入 HTML 代码的 javascript 代码。我有一个语法错误,但我不知道如何更正它。请问有人可以建议吗?
loadNextContainer.innerHTML = '<span class="sr_43" id="srloadnext_2" onclick="srt.loadNextMatchRecords(\''+numDownloadSoFar+'\', \''+maxDownloadLimit+'\', \''+folderName+'\', \''+jsonHashTags+'\', \''+fromDate+'\', \''+toDate+'\', \''+lastScanId+'\')">LoadNext</span>';
错误信息:
Uncaught SyntaxError: Invalid or unexpected token
我相信错误围绕着函数变量。特别是 JSON 变量。我无法更改 JSON 中每个元素的双引号使用。所以这必须保留在任何解决方案中。
最佳答案
您可以像这样使用反引号来尝试。
loadNextContainer.innerHTML = `<span class="sr_43" id="srloadnext_2" onclick="srt.loadNextMatchRecords('`+numDownloadSoFar+`', '`+maxDownloadLimit+`', '`+folderName+`', '`+jsonHashTags+`', '`+fromDate+`', '`+toDate+`', '`+lastScanId+`')">LoadNext</span>';
或者只是转义双引号而不是单引号。你这样做的方式是,当你试图转义它时,你无意中打开了字符串。
loadNextContainer.innerHTML = "<span class=\"sr_43\" id=\"srloadnext_2\" onclick=\"srt.loadNextMatchRecords('"+numDownloadSoFar+"', '"+maxDownloadLimit+"', '"+folderName+"', '"+jsonHashTags+"', '"+fromDate+"', '"+toDate+"', '"+lastScanId+"')\">LoadNext</span>";
关于javascript - 使用 javascript 编写 HTML 脚本时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51804446/