Передача экранированной строки в JQuery ($) - функция - PullRequest
1 голос
/ 05 июля 2010

В настоящее время я пытаюсь выделить элементы на странице.Поэтому я передаю отдельную строку через запятую Javascript-функции, которая называется highlight.

highlight("main:box1,main:box2");

Это работало нормально, пока я не нашел идентификаторы с: на странице.Поэтому я попытался избежать их с помощью небольшого регулярного выражения.Здесь все стало немного смешно.

Если я экранирую строку, заменив: на \: jQuery-функция больше не работает.

var string = value.replace(/:/g, "\\\\:");
jQuery("#" + string).css("color", "red");

Если я заменю main: на"" и напишите main \: в jQuery-Function все работает нормально.

var string = value.replace(/main:/g, "");
jQuery("#main\\:" + string).css("color", "red");

Что я делаю не так?Почему jQuery-функция не исключает мою экранированную строку?

Требуется помощь: - (

Пример кода прилагается: http://db.tt/0FLRlM

Спасибо, Ян

1 Ответ

1 голос
/ 05 июля 2010

Вы дважды избегаете \ в первой попытке замены. Что вы сделали, это заменили : на \\:, даже если вы, вероятно, видите \: при выводе.

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