У меня есть переменная, которую я использую для создания вызова функции JavaScript, и JavaScript .replace()
, чтобы окружить строку текста событием span и onclick. Часть .replace()
выглядит следующим образом:
code.replace(/(\d{4}\s+)?(LOCAL|PARAMETER|GLOBAL)\s+USING\s+([\S]+)/g,
"<span class=\"natprint_popup\" onclick=\"getNaturalCode('"
+ lib
+ "','$3','@#test_prod_qual|',0,'Y'); return false;\">$&</span>");
Единственная проблема состоит в том, что переменная lib
содержит $
в конце некоторое время; например, lib == DPDRI$
. Это приводит к разрыву JavaScript на моей странице, и я получаю вывод, который прерывается в конце lib
и отображает остальные параметры функции Javascript в виде простого текста:
,'DPDPDRNO','TEST',0,'Y'); return false;">
Я безрезультатно искал ответы в течение нескольких дней. Я попытался сделать lib.replace(/\$/g, "\\$");
и \$
успешно пробивается в переменную, но это все еще нарушает мой код. Кажется, что движок JavaScript пытается интерпретировать $
в конце lib
как захваченное совпадение, и это заставляет его взорваться. У кого-нибудь есть идеи, как заставить это работать?