我正在动态创建 HTML,但出现语法错误。如果我将 href="javascript:startChat(' + user_id + ','video')"
更改为 href="javascript:startChat(' + user_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 += '<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);
}
另请注意,最好使用委托(delegate)事件处理程序来实现此目的,而不是使用过时的内联事件属性。试试这个:
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');
});
关于javascript - Jquery 动态创建元素 | onclick 传递字符串参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32882166/