javascript: URL в jquery html () в onmouseover в href - PullRequest
0 голосов
/ 03 февраля 2012

Этот URL выдает ошибку missing ) after argument. Это динамически генерируется PHP. Я не могу понять правильную последовательность / размещение одинарных и двойных кавычек, чтобы сделать это.

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

Особый желаемый эффект состоит в том, чтобы снова вставить изображение в .menu-image li. Все, что я могу понять, это то, что img src с кавычками (я пробовал одинарные и двойные) не нравится и выдает ошибку аргумента.

Ответы [ 4 ]

4 голосов
/ 03 февраля 2012

Похоже, вам нужно избегать внутренних одинарных кавычек, например:

<a href="cards.html" onmouseover="jQuery('.menu-image li').html('<img src=\'cards_1.png\' />');
4 голосов
/ 03 февраля 2012

Попробуйте экранировать неверные кавычки с помощью \ или \\.

т.е. 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; и, вероятно, избавить вас от головной боли.

2 голосов
/ 03 февраля 2012

Используйте закодированные кавычки для тега <img/>:

<a href="cards.html" onmouseover="jQuery('.menu-image li').html('<img src=&quot;cards_1.png&quot; />');">Cards</a>
2 голосов
/ 03 февраля 2012

Вам нужно написать это:

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

... в противном случае ваш браузер не сможет определить, принадлежат ли апострофы тегу <img или команде html(

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...