2012-02-03 65 views
0

此url會拋出missing) after argument錯誤。它是由PHP動態生成的。我無法弄清楚單引號和雙引號的正確順序/位置來呈現它。javascript:url in jquery html()onmouseover在href中

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

所需的特殊效果是將onmouseover插入到.menu-image li中。我能弄清楚的是,帶引號的img src(我試過單雙)不是很喜歡,並且拋出了參數錯誤。

+3

爲什麼要添加jQuery內聯? – j08691 2012-02-03 18:12:50

+0

我可能最終不會使用內聯,現在我已經有了這個工作。 – 2012-02-03 18:27:56

回答

4

嘗試使用\\\轉義不正確的引號。

I.e. html('<img src=\'cards_1.png\' />');

或者,您可以使用&quot;。一個URL編碼器應該已經爲你自動完成了。

一個非常流行的錯誤btw。是不對每個&在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;,可能爲您節省了一些麻煩。

+0

非常感謝,「非常好。我在很多年裏從來沒有遇到需要這樣做:) – 2012-02-03 18:27:11

2

你需要這樣寫:

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

...否則,如果撇號屬於<img標籤或html(命令爲<img/>標籤

2

使用編碼的報價您的瀏覽器不能區分:

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

看起來你需要逃跑的最裏面的單引號,像這樣:

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