我知道这可能是一个非常虚假的问题,但我现在一直在努力争取半小时的引号:
我有一个JS函数,用内容填充一些div,并且有一个url触发另一个JS函数,如下所示:
content = content.concat("<a href='#' onclick=\'highlight(\'" + value + "\')\'>" + conversationid + "</a>");
我尝试了各种转义等等,但我似乎无法做到正确...这就是我在浏览器中检查时我的尝试(上面的代码)的实际情况:
<a href="#" onclick="highlight(" something")">something</a>
你能建议正确的表格吗?非常感谢!
答案 0 :(得分:2)
在HTML中使用'in JS:
content = content.concat('<a href="#" onclick="highlight(\'' +
value + '\')">' + conversationid + '</a>');
当你使用'作为定界符
时,你不需要在字符串中转义更新:我没有意识到字符串是HTML和JS在一起,现在它应该工作(在onclick属性声明中添加了一些转义的单引号)
答案 1 :(得分:2)
我意识到我编辑了这个很多,但最后,我认为它是赢家:
content = content.concat('<a href="#" onclick="highlight(\'' + value + '\')">' + conversationid + '</a>');
编辑作为替代方案也许您可以将引号弹出为html?
content = content.concat('<a href="#" onclick="highlight('' + value + '')">' + conversationid + '</a>');
我认为两者都有效:P
这是一个小提琴http://jsfiddle.net/LT6bC/
答案 2 :(得分:1)
看起来有些东西会将您的单引号重写为双引号。如果你无法阻止它,你将不得不解决它。将值字符串分配给变量,并嵌入变量的名称,而不是尝试引用字符串。
答案 3 :(得分:0)
好吧,在Javascript中,您可以使用单个qiotes来表示字符串,因此HTML 中的函数调用应如下所示:
<a href="#" onclick="highlight(' something')">something</a>
另一方面,HTML要求您使用双引号。
答案 4 :(得分:0)
content = content.concat("<a href="#" onclick="highlight('" + conversationid + "')>" + conversationid + "</a>");