Javascript 将转义字符串传递给JQuery($)-函数
目前我正试图突出显示页面上的元素。因此,我将一个逗号分隔的字符串传递给名为highlight的Javascript函数Javascript 将转义字符串传递给JQuery($)-函数,javascript,jquery,regex,Javascript,Jquery,Regex,目前我正试图突出显示页面上的元素。因此,我将一个逗号分隔的字符串传递给名为highlight的Javascript函数 highlight("main:box1,main:box2"); 在我在页面上找到带:的ID之前,这一切都很正常。所以我试着用一点正则表达式来逃避他们。事情开始变得有点滑稽了 如果通过将:替换为\:来转义字符串,jQuery函数将不再工作 var string = value.replace(/:/g, "\\\\:"); jQuery("#" + string).css(
highlight("main:box1,main:box2");
在我在页面上找到带:的ID之前,这一切都很正常。所以我试着用一点正则表达式来逃避他们。事情开始变得有点滑稽了
如果通过将:替换为\:来转义字符串,jQuery函数将不再工作
var string = value.replace(/:/g, "\\\\:");
jQuery("#" + string).css("color", "red");
如果我将main:替换为“”,并在jQuery函数中写入main\,一切正常
var string = value.replace(/main:/g, "");
jQuery("#main\\:" + string).css("color", "red");
我做错了什么?为什么jQuery函数除了我的转义字符串之外没有其他功能
所需帮助:-(
所附代码示例:
感谢Jan你在第一次尝试替换时双重逃逸了
\
。你所做的是用\\:
替换:
,即使你在输出时可能看到\:
。你在第一次尝试替换时双重逃逸了\
。你所做的是replace:
与\\:
,即使您在输出它时可能会看到\:
。要显式,请使用var string=value。要显式替换(/:/g,\\:”;
要显式,请使用var string=value。替换(/:/g,\\:”;