2015-10-01 100 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')」如何處理這個名字是一個字符串 –