Javascript将变量传递给onclick不会';行不通

Javascript将变量传递给onclick不会';行不通,javascript,html,javascript-objects,Javascript,Html,Javascript Objects,我正试图通过使用Javascript生成HTML将变量传递给另一个函数,但它没有通过。这是我的密码: var wer_people_btn1 = document.createElement("span"); wer_people_btn1.setAttribute('onclick', 'SendData(' + user.ID + " ANDINFO " + susData + ')'); function SendData(reply) { } user.ID包含“3323” susD

我正试图通过使用Javascript生成HTML将变量传递给另一个函数,但它没有通过。这是我的密码:

var wer_people_btn1 = document.createElement("span");
wer_people_btn1.setAttribute('onclick', 'SendData(' + user.ID + " ANDINFO " + susData + ')');

function SendData(reply) {
}
user.ID包含“3323”

susData包含“(信息用户)”

我得到的错误是:

参数列表后未捕获的语法错误(缺少)


我认为括号在这里造成了麻烦。如何将它们作为字符串传递给函数?

因为无论发送什么,数据都必须是字符串。所以字符串必须在引号
中,但不应冲突。因此,请使用Javascript的单引号和双引号,或者使用转义字符
\”
只用一个引号

wer_people_btn1.setAttribute('onclick', "SendData('" + user.ID + " ANDINFO " + susData + "')");
如注释中所述,只能传递事件和元素(this)

更好的解决方法:上述方法将为SendData创建单个字符串输入,但您希望将其作为单独的参数接收,那么下面的方法将起作用
“SendData(“+user.ID+”,“+susData+”)”;
其中SendData的函数原型是SendData(userId,susData)
//user.ID是一个数字,因此没有引号


如果你需要传递自定义对象,那么看看这个,这是我知道的唯一可能的方法。

你看过生成的HTML吗?生成的javascript中有一团乱麻。
SendData(3323和info(info\u user))
是的,对我来说似乎是一个错误。这注释了我的变量,伙计。你确定转义是正确的吗?我没有使用转义。但是你以前的函数设置为
“SendData(3323和info(info\u user))
,但我做的是
“SendData('3323和info(info\u user)”)
。传递的值必须是字符串、对象引用、数字或布尔值。但前面的1不是。bcoz没有“”引号。请检查一次,如果问题仍然存在,请告诉我。但在本例中,您没有传递变量。您传递的字符串很难coded@Earthling,检查解决方法,然后回答我链接的问题。希望这能对你有所帮助。