javascript - 动态地将参数传递给 onclick 函数

标签 javascript jquery html css twitter-bootstrap

我有下面的 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/

相关文章:

Javascript:使用数组中的值访问变量

javascript - 浏览器中不可见元素的键盘快捷键

jquery - 带有远程数据源的基本 jquery 自动完成——如何实现?

java - Ajax 和 session ID

javascript - 使用 Javascript 将 blob 转换为 .doc、.docx、.xls 或 .txt 以在浏览器中查看而无需下载

javascript - IE错误类型错误: Unable to get value of the property 'set' : object is null or undefined

javascript - 找不到快速路由器

javascript - 如何使用 jquery 单击动态单元格值打开对话框

html - 对齐中心div

JavaScript 清理 HTML 字符串并删除 ID、类和其他属性