我有下面的 html 元素,动态附加了 onclick() 函数。 当我们调用时它抛出错误。传递的名称变量类似于“ST-123”。它会抛出类似 "ST"is not defined 的错误。 你能帮忙吗?
hubName = "ST-123";
IdCell.append("<button type='button' class='btn-link' style='float:right; margin-right:-6px; margin-top:-11px;' onclick='unPair($(this),"+name+")'>
<img src='../images/link-minus.png'> </button>");
这里的 idCell 是表格单元格之一。
最佳答案
你的问题是你的第二个参数不是字符串。
onclick='unPair($(this),"+name+")'
将评估为
onclick='unPair($(this),ST-123)'
由于 ST-123
不是字符串,它会尝试从 ST
中减去 123
。而如果ST
不存在,则会抛出异常。
因为你不能轻易使用 '
因为它会结束你的 onclick
属性,你可以尝试使用双引号。但是当你的字符串以它开头时,你需要首先通过向它添加反斜杠来转义它,如下所示:
onclick='unPair($(this),\""+name+"\")'
这将评估为:
onclick='unPair($(this),"ST-123")'
关于javascript - 动态地将参数传递给 onclick 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40000185/