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
答案 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>