javascript - 无法将字符串传递给函数

标签 javascript jquery function

我正在使用 javascript,我尝试将一个字符串传递给一个函数,就像这样

        //example string
        var f="a";

//add button that sends the value of f to the function
     document.getElementById("mydiv").innerHTML="<input type='button' id='myButton' value='Click here' onclick='gothere("+f+");'> ";

    function gothere(a){
    alert(a);
    }

我从未看到警报,在控制台中我看到a is not defined(我猜是指 f?)

如果我将 f var 设置为一个数字,那么我会看到警报。

我错过了什么?

提前致谢

编辑

我在想也许是这样

var buttonnode= document.createElement('input');

document.getElementById("mydiv").appendChild(buttonnode);
buttonnode.onclick=gothere(f);

不会因为同样的原因工作吗?

最佳答案

当您的 HTML get 被渲染时,您会得到 onclick='gothere(a);',但是实际的 a 变量在这个上下文中不存在,您想要将 f 的值作为字符串传递,因此您需要使用 onclick='gothere(\""+f+"\");'。注意括号内的额外引号。这将呈现给 onclick='gothere("a");' 从而传递字符串。

当使用数字时,它有效,因为调用 onclick='gothere(5);' 是有效的,因为变量不能命名为 5,并且它传递了数字。

关于javascript - 无法将字符串传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19506220/

相关文章:

javascript - 在 ('request' 上)在每个请求上调用两次,为什么?

javascript - 如何调试 iPad 上 Web View 中运行的 Javascript?

javascript - 将两个排序图标添加到数据表列?

javascript - 从 JavaScript 打开图像文件(不适用于手机)

c++ - 函数声明参数命名最佳实践 (C++)

python - 识别 python 函数内全局变量的无意读/写?例如使用静态分析?

php - CakePHP 1.3 : Protect Forms From XSS

javascript - 单击子菜单时防止菜单卷起

javascript - 从另一组选择单选按钮时自动选择单选按钮

php - 函数变成死循环