onclick里面的字符串

时间:2011-06-14 21:35:37

标签: javascript string variables quotes

所以继承我的代码

html += "<li class='status-"+peeps[i].online_presence+"' onclick='show_connect_message("+peeps[i].uid+");streamPublish("+peeps[i].uid+","+name+");'><a href='#' onclick='show_connect_message("+peeps[i].uid+");streamPublish("+peeps[i].uid+","+name+");return false;'>"+peeps[i].name+"</a></li>";

基本上,在检查元素时,我可以看到它正在输出UID和名称。这是一行:

<li class="status-active" onclick="show_connect_message(503141088);streamPublish(503141088,David);"><a href="#" onclick="show_connect_message(503141088);streamPublish(503141088,David);return false;">David</a></li>

所以我做错了什么。我需要用双引号或单引号命名(David),否则控制台会说它无法找到引用的函数。

警告:Javascript Noob

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

更改

streamPublish("+peeps[i].uid+","+name+")

streamPublish("+peeps[i].uid+",\""+name+"\")

反斜杠将转义双引号并且不会破坏字符串

答案 1 :(得分:0)

试试这个

html += "<li class='status-"+peeps[i].online_presence+"' onclick='show_connect_message("+peeps[i].uid+");streamPublish("+peeps[i].uid+","""+name+""");'><a href='#' onclick='show_connect_message("+peeps[i].uid+");streamPublish("+peeps[i].uid+","""+name+""");return false;'>"+peeps[i].name+"</a></li>";