小编典典

在 onclick 函数中传递字符串参数

all

我想将参数(即字符串)传递给 Onclick 函数。

目前,我这样做:

'<input type="button" onClick="gotoNode(' + result.name + ')" />'

例如 result.name 等于字符串“Add”。

当我单击此按钮时,出现一个错误,提示 “未定义添加” 。由于此函数调用与数字参数完美配合,我假设它与字符串中的符号“”有关。

我该如何解决这个问题?


阅读 123

收藏
2022-05-04

共1个答案

小编典典

看起来您正在从字符串构建 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它将在事件触发之前发生变化,您需要创建一个额外的范围气泡来隐藏变化的变量。

2022-05-04