我想将一个参数(即字符串)传递给Onclick函数.
目前,我要做的是:
'<input type="button" onClick="gotoNode(' + result.name + ')" />'
结果呢.例如,名称等于字符串"Add".
当我点击这个按钮时,我有一个错误,显示为"Add is not defined".由于此函数调用可以很好地与数字参数配合使用,因此我假设它与字符串中的符号""有关.
我如何解决这个问题?
我想将一个参数(即字符串)传递给Onclick函数.
目前,我要做的是:
'<input type="button" onClick="gotoNode(' + result.name + ')" />'
结果呢.例如,名称等于字符串"Add".
当我点击这个按钮时,我有一个错误,显示为"Add is not defined".由于此函数调用可以很好地与数字参数配合使用,因此我假设它与字符串中的符号""有关.
我如何解决这个问题?
看起来你是在用字符串构建DOM元素.你只需要在结果周围加上一些引号.姓名:
'<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
将在事件触发之前更改,您需要创建一个额外的范围气泡来隐藏更改的变量.