2015-10-01 46 views
2

我正在创建HTML动态,但我得到一个语法错误。如果我将href="javascript:startChat(' + user_id + ','video')"更改为href="javascript:startChat(' + user_id + ','"video"')",比我收到错误说'视频未定义'。jquery动态创建元素| onclick传递字符串参数

html +='<li><a href="javascript:startChat('+user_id+','video')"><i class="uk-icon-video-camera uk-icon-large"></i></a></li>'; 

function startChat(user_id, type){ 
    console.log(type); 
} 

回答

5

正如你可以从你的问题语法高亮看,你不是在字符串中正确地转义引号。试试这个:

另外请注意,这将是更好的做法是使用委派事件处理程序来实现这一目标,而不是过时的内嵌事件属性。试试这个:

html += '<li><a href="#" data-userid="' + user_id + '"><i class="uk-icon-video-camera uk-icon-large"></i></a></li>'; 

$('ul').on('click', 'li', function(e) { 
    startChat($(this).data('userid'), 'video'); 
}); 
+0

伟大的帮助人。 href =“javascript:startChat('+ user_id +',\'+ name + \','video')”如何处理这个名字是一个字符串 –