我想将参数(即字符串)传递给Onclick函数。目前,我这样做:
'<input type="button" onClick="gotoNode(' + result.name + ')" />'
例如,result.name等于字符串“ Add”。当我单击此按钮时,出现一个错误,提示未定义添加。由于此函数调用可以完美地与数字参数一起使用,因此我认为它与字符串中的符号“”有关。以前有人遇到过这个问题吗?
看起来您是从字符串构建DOM元素。您只需要在result.name周围添加一些引号即可:
'<input type="button" onClick="gotoNode(\'' + result.name + '\')" />'
您实际上应该使用适当的DOM方法来执行此操作。
var inputElement = document.createElement('input'); inputElement.type = "button" inputElement.addEventListener('click', function(){ gotoNode(result.name); }); document.body.appendChild(inputElement);
请注意,如果这是一个循环之类的东西,result它将在事件触发前发生变化,您需要创建一个额外的作用域气泡以遮盖变化的变量。
result