js语法错误:参数后缺少)

时间:2019-02-28 01:40:11

标签: javascript html

我不确定是什么问题。

cell1.innerHTML = '<a onclick="displaySteps(\'' + temp +  '\')" id="testSteps"><i class="fa fa-plus-circle fa-custom fa-clickable"></i></a>' + "  N/A";

执行以上行总是会给我以下错误

SyntaxError: missing ) after argument list[Learn More]

3 个答案:

答案 0 :(得分:2)

由于您拥有missing ) after argument list error,并且上面代码中唯一的函数调用是displaySteps,因此我认为test变量的呈现值中有某些原因。尝试记录test的值,以确保它不包含任何杂散的)或未转义的字符

此外,更干净的方法是使用Template Literals-

const icon = `<i class="fa fa-plus-circle fa-custom fa-clickable"></i>`
const renderDisplayFn = (arg) => `'displaySteps(${arg})'`

cell1.innerHTML = `<a onclick=${renderDisplayFn(test)} id='testSteps'>${icon}</a> N/A`

答案 1 :(得分:1)

cell1.innerHTML = `<a onclick="displaySteps('${temp}')" id="testSteps"><i class="fa fa-plus-circle fa-custom fa-clickable"></i></a> N/A`;

答案 2 :(得分:1)

temp中可能有一个引号,导致函数调用中出现语法错误。

与其创建onclick属性,不如使用代码添加事件侦听器,会更安全。

cell1.innerHTML = '<a o id="testSteps"><i class="fa fa-plus-circle fa-custom fa-clickable"></i></a>' + "  N/A";
document.getElementById("testSteps").addEventListener("click", (function(temp) {
    displaySteps(temp);
})(temp));