从函数javascript发送变量

时间:2015-03-31 02:41:51

标签: javascript jquery html

我有一个代码

 socket.on('user joined',function(data){
       var ume = data.username;
        $('#userlist').append("<li id='"+ume+"'><a href='#' onclick='prePrivate("+ume+"); return false;'>"+ume+"</a></li>");
        console.log(ume);
 });

和prePrivate方法

  function prePrivate(userprivate){
        privateuser = userprivate;
        console.log(privateuser);
  }

当我点击li元素时,控制台打印

<li id="sample_data">

但不打印sample_data。 我不明白,如何变量。对不起我的英语不好

1 个答案:

答案 0 :(得分:2)

您需要在正在构建的字符串的prePrivate调用中在ume周围添加引号:...onclick='prePrivate(\""+ume+"\");...

如果没有它们,您正在调用prePrivate(sample_data),而sample_data恰好是您使用相同名称而不是字符串的DOM li元素。为什么?见Do DOM tree elements with ids become global variables?