используя javascript, я генерирую HTML-код, например, добавляя функцию, которая начинается с нажатия на ссылку, например:
$('#myDiv').append('<a href="javascript:start(\''+TERM+'\');">click</a>');
Так что start()
следует вызывать, если кто-то нажимает на ссылку (щелчок).TERM
может содержать одно слово, например world
или moody's
, сгенерированный HTML-код будет выглядеть следующим образом:
<a href="javascript:start('world');">click</a>
ИЛИ
<a href="javascript:start('moody's');">click</a>
Как видите,2-й пример не будет работать.Поэтому я решил «убежать» от TERM
, вот так:
$('#myDiv').append('<a href="javascript:start(\''+escape(TERM)+'\');">click</a>');
Глядя на исходный код HTML с помощью firebug, можно увидеть, что был сгенерирован следующий код:
<a href="javascript:start('moody%27s');">click</a>
Это прекрасно работает, пока я действительно не нажму на ссылку - поэтому браузер (здесь Firefox) пытается интерпретировать %27
и пытается запустить start('moody's');
Есть ли способ избежать термина постоянныйбез интерпретации %27
, пока термин не будет обработан в JS?Есть ли другое решение вместо использования регулярных выражений для изменения '
на \'
?