javascript \ "\ 'я в замешательстве - PullRequest
3 голосов
/ 11 сентября 2010

Эй, я занят маленьким элементом JavaScript, но меня смутило следующее правило;

<a href="#" onclick="removeMap('+ \"test\" +')" style="float:right; margin-right: 30px;"><img src="images/icons/collapse.gif"></a><br/>'

Не требуется действие удаления карты при нажатии. Я не знаю, что я должен поставить между (), чтобы я мог поместить туда текст. У кого-нибудь есть решение?

Спасибо

Ответы [ 5 ]

8 голосов
/ 11 сентября 2010

Попробуйте просто:

onclick="removeMap('test')"

если тест является variable:

onclick="removeMap(test)"

\" предназначен для отбрасывания закрывающей двойной кавычки события onclick. В этом случае я не вижу никакого смысла в вашем звонке. Когда используются функции событий в тегах html точно так же, как ваше событие onclick, так как html использует double quotes для атрибутов, вам необходимо использовать одинарные кавычки в функциях inline javascript.


Кстати, вы уже проверяли JQuery JavaScript Library . Когда вы начинаете кодировать javascript, хорошо знать ваши варианты.

2 голосов
/ 11 сентября 2010

Или просто прекратите писать javascript внутри ваших HTML-тэгов, просто вызовите функции и поместите свой код в свои функции ... гораздо более понятный!

1 голос
/ 11 сентября 2010

Как насчет:

<a href="#" onclick="removeMap('test')" style="float:right; margin-right: 30px;"><img src="images/icons/collapse.gif"></a><br/>'
0 голосов
/ 11 сентября 2010

Экранированные кавычки не имеют никакого особого значения в HTML. Вместо этого браузер увидит вашу строку как:

<a href="#"
  onclick="removeMap('+ \"
  test\
  " +')"
  style="float:right; margin-right: 30px;"
>

Где onclick будет сломан Javascript, и в теге будет два атрибута (test\ и " +')"), которые он не распознает и не знает, что делать с.

0 голосов
/ 11 сентября 2010

Вы должны использовать редактор, который правильно выделяет строки (и то, что происходит, должно быть очевидным)

...