将双引号传递给Jscript

时间:2011-02-23 09:35:40

标签: html syntax javascript

insertText是java脚本,它接受两个字符串参数

我需要传递两个字符串

第一个参数:

<img src="

第二

 ">

我无法弄清楚如何将双引号作为参数传递

这有效

<a onClick="insertText('<em>', '</em>'); return false;">Italic</a>

这不是

<a onClick="insertText('<img src=/"', '/">'); return false;">Image</a>

打印'); return false;">Image

4 个答案:

答案 0 :(得分:3)

您想使用\而不是/

答案 1 :(得分:2)

JavaScript的转义字符为\,而不是/。所以试试这个:

<a onClick="insertText('<img src=\"', '\">'); return false;">Image</a>

更新

上面的解决方案不起作用,因为双引号“属于”HTML而不属于JavaScript,因此我们无法在JavaScript代码中转义它们。

请改用:

<a onClick="insertText('<img src=\'', '\'>'); return false;">Image</a> // --> <img src='...'>

<a onClick='insertText("<img src=\"", "\">"); return false;'>Image</a> // --> <img src="...">

既然你正在使用jQuery,为什么不用jQuery方式呢?

insertText = function(a, b) {
    // your insertText implementation...
};

$('a').click(function() {  // use the right selector, $('a') selects all anchor tags
    insertText('<img src="', '">');
});

使用此解决方案,您可以避免引号出现问题。

以下是一个有效的例子:http://jsfiddle.net/jcDMN/

答案 2 :(得分:2)

黄金法则正在扭转报价,这意味着我在双引号内使用单引号,反之亦然。

此外,您应该使用反斜杠符号来形成像'和'这样的特殊字符。

例如, 以下命令应该适用于上述规则......

<a onClick="insertText('<em>', '</em>'); return false;">Italic</a>

<a onClick='insertText("<em>", "</em>"); return false;'>Italic</a>

<a onClick="insertText('<img src=\"', '\">'); return false;">Image</a>

<a onClick='insertText("<img src=\'", "\'>"); return false;'>Image</a>

我希望这可以帮助你...

答案 3 :(得分:1)

你需要逃脱它。

<a onClick="insertText('<img src=\"', '\">'); return false;">Image</a>