双引号和引号的问题

时间:2016-07-06 21:05:25

标签: javascript onclick escaping double-quotes single-quotes

我在javascript中创建一个链接列表,但似乎浏览器正在翻译一些字符

这是我的代码

vLinea += "<a href='#' onclick='window.open('frmEnviarPorCorreo.aspx?Pr_Id=" + pData.Pr_Id + "'"
vLinea += ", '_blank', 'location=yes,height=570,width=520,scrollbars=no,status=no');>"
vLinea += "<img   class='imgShare'  src='images/icoEmail.png'>" 
vLinea += "</a> </li>"

我想要的是这个

<a href="#" onclick="window.open('frmenviarporcorreo.aspx?pr_id=12806','_blank','location=yes,height=570,width=520,scrollbars=no,status=no');"><img class="imgShare" src="images/icoEmail.png"></a>

我得到的是,有些'被翻译为"添加了一些"我不知道为什么

<a href="#" onclick="window.open(" frmenviarporcorreo.aspx?pr_id="12806'," '_blank',="" 'location="yes,height=570,width=520,scrollbars=no,status=no');"><img class="imgShare" src="images/icoEmail.png"></a>

2 个答案:

答案 0 :(得分:0)

如果要在相同类型的引号中间添加引号而不终止字符串,则需要转义字符()。我认为你需要的唯一逃脱就是在&#34; window.open之后的第一行,以便在你想给它路径之前不要终止onclick引用。

vLinea += "<a href='#' onclick='window.open(\'frmEnviarPorCorreo.aspx?Pr_Id=" + pData.Pr_Id + "'"
vLinea += ", '_blank', 'location=yes,height=570,width=520,scrollbars=no,status=no');>"
vLinea += "<img   class='imgShare'  src='images/icoEmail.png'>" 
vLinea += "</a> </li>"

答案 1 :(得分:0)

尝试使用转义符作为引号:

&#13;
&#13;
vLinea += "<a href=\"#\" onclick=\"window.open(\'frmenviarporcorreo.aspx?pr_id=\'" + pData.Pr_Id +"\'"
vLinea += "\',\'_blank\',\'location=yes,height=570,width=520,scrollbars=no,status=no\');\">"
vLinea += "<img class=\"imgShare\" src=\"images/icoEmail.png\">"
vLinea += "</a> </li>"
&#13;
&#13;
&#13;

转义适用于单引号或双引号。