一行中有多个引号

时间:2014-02-28 10:56:44

标签: javascript quotes

我知道这可能是一个非常虚假的问题,但我现在一直在努力争取半小时的引号:

我有一个JS函数,用内容填充一些div,并且有一个url触发另一个JS函数,如下所示:

content = content.concat("<a href='#' onclick=\'highlight(\'" + value + "\')\'>" + conversationid + "</a>");

我尝试了各种转义等等,但我似乎无法做到正确...这就是我在浏览器中检查时我的尝试(上面的代码)的实际情况:

<a href="#" onclick="highlight(" something")">something</a>

你能建议正确的表格吗?非常感谢!

5 个答案:

答案 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(&#39;' + value + '&#39;)">' + 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>");