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

标签 javascript html

我想将参数(即字符串)传递给 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 将在事件触发之前发生变化,您需要创建一个额外的范围气泡来隐藏变化的变量。

关于javascript - 在 onclick 函数中传递字符串参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9643311/

相关文章:

javascript - 任何用于计算多边形面积的 Javascript 库或 Jquery 插件?

javascript - 如何在选中 vuetify 中的一个复选框时选中所有复选框?

javascript - 条件渲染可以使表单项可见,但无法隐藏它

JQuery 画廊和 CSS

javascript - 为什么 'false' 在 javascript 中是真实的?

javascript - GraphQL 解析时出错 "ç": Cannot parse the unexpected character "\u00E7"

javascript - javascript 中嵌套匿名方法的闭包

javascript - 获取在语义 ui 中选中的 radio 值

html - 如何使用 Bootstrap 将图像居中放置在固定高度的 div 中?

html - CSS3 过渡向下滑动元素