Javascript Jquery动态创建元素| onclick pass字符串参数
我正在动态创建HTML,但是我遇到了一个语法错误。如果我将Javascript Jquery动态创建元素| onclick pass字符串参数,javascript,jquery,Javascript,Jquery,我正在动态创建HTML,但是我遇到了一个语法错误。如果我将href=“javascript:startChat('+user\u id+','video')”更改为href=“javascript:startChat('+user\u id+','video')”,则会出现错误,说“视频未定义” html +='<li><a href="javascript:startChat('+user_id+','video')"><i class="uk-icon-vide
href=“javascript:startChat('+user\u id+','video')”
更改为href=“javascript:startChat('+user\u id+','video')”
,则会出现错误,说“视频未定义”
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);
}
html+='';
函数startChat(用户id,类型){
console.log(类型);
}
从问题中突出显示的语法可以看出,字符串中的引号没有正确转义。试试这个:
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);
}
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');
});
html+='';
函数startChat(用户id,类型){
console.log(类型);
}
还要注意,使用委托事件处理程序来实现这一点,而不是过时的内联事件属性,这将是更好的实践。试试这个:
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);
}
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');
});
html+='';
$('ul')。关于('click','li',函数(e){
startChat($(this).data('userid'),'video');
});
伟大的帮手。href=“javascript:startChat('+user\u id+',\'+name+\',\'video\”)如何处理此名称是一个字符串