我想将参数(即字符串)传递给 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); }); 鈥媎ocument.body.appendChild(inputElement);鈥�
请注意,如果这是一个循环或其他东西,result它将在事件触发之前发生变化,您需要创建一个额外的范围气泡来隐藏变化的变量。
result