javascript:url in jquery html()in onmouseover in a href

时间:2012-02-03 18:11:39

标签: javascript jquery html url

此网址引发missing ) after argument错误。它是由PHP动态生成的。我无法弄清楚单引号和双引号的正确顺序/位置来呈现它。

<a href="cards.html" onmouseover="jQuery('.menu-image li').html('<img src='cards_1.png' />');">Cards</a>

所需的特殊效果是onmouseover将图像插入.menu-image li。我只能弄清楚是img src带引号(我试过单双)并不喜欢并抛出参数错误。

4 个答案:

答案 0 :(得分:4)

尝试使用\\\转义不正确的引号。

即。 html('<img src=\'cards_1.png\' />');

或者,您可以使用&quot;。 URL编码器应该自动为您完成此操作。

一个非常流行的错误顺便说一句。不要将URL中的每个&编码为&amp;。浏览器通常会猜对象,但人们从不学习。但链接

<a href="test.php?a=1&b=2">example</a>

实际上是不正确的,应该是

<a href="test.php?a=1&amp;b=2">example</a>

现在,如果你一直在使用 URL编码器而不是仅仅“打印”字符串,它应该会自动将你的双引号转换为&amp;并且可能会让你感到头痛。 / p>

答案 1 :(得分:4)

看起来你需要像这样转义最里面的单引号:

<a href="cards.html" onmouseover="jQuery('.menu-image li').html('<img src=\'cards_1.png\' />');

答案 2 :(得分:2)

你需要写下这个:

<a href="cards.html" onmouseover="jQuery('.menu-image li').html('<img src=\'cards_1.png\' />');">Cards</a>

...否则您的浏览器无法区分撇号是属于<img标签还是html(命令

答案 3 :(得分:2)

使用<img/>标记的编码引号:

<a href="cards.html" onmouseover="jQuery('.menu-image li').html('<img src=&quot;cards_1.png&quot; />');">Cards</a>