Javascript 用转义反斜杠替换任何(.)句点,以便我可以选择元素
我有一些元素中有(.)句点,我需要选择它们,但我需要一些转义字符,我相信这样做。我如何确保可能包含句点的字符串将正确转义。我想是这样的吧Javascript 用转义反斜杠替换任何(.)句点,以便我可以选择元素,javascript,jquery,Javascript,Jquery,我有一些元素中有(.)句点,我需要选择它们,但我需要一些转义字符,我相信这样做。我如何确保可能包含句点的字符串将正确转义。我想是这样的吧 var title = "User1.Title"; var string = //replace any periods with escape sequence? $('#'+string).show(); 它可能有不止一个(.)句点,希望没有,但如果我能替换所有(.)句点,这样我就能做我的选择,那就太好了。你是说这个吗 $('#'+string.rep
var title = "User1.Title";
var string = //replace any periods with escape sequence?
$('#'+string).show();
它可能有不止一个(.)句点,希望没有,但如果我能替换所有(.)句点,这样我就能做我的选择,那就太好了。你是说这个吗
$('#'+string.replace(/\./g, "\\.")).show();
这项工作:
$("[id='"+string+"']").show()
如果将其指定为属性,则无需对其进行转义——jquery以不同的方式解析它。您可以这样做
$("[id="+string+"]").show();
$('#'+string.replace(".", "\\.")).show();
…但这家伙的问题是速度不是很快,因为它会遍历整个DOM树,查找每个具有该id的家伙,而不仅仅是一个
你也可以这样做
$("[id="+string+"]").show();
$('#'+string.replace(".", "\\.")).show();
。。该jQuery将预解析该选择器,并在幕后使用document.getElementById
你也可以这样做
$(document.getElementById(string)).show();
。。。它有同样的效果,你不必担心CSS特殊字符。
只要小心IE(6和7),Opera wich不仅根据ID而且根据名称选择元素。你很接近,@duckyflip,但这不仅仅是因为它是一个ID。jquery以不同的方式解析任何属性的字符串。您忘记了字符串周围的引号。
string.replace(“.”,“\\”)
仅替换字符串中的第一个句点。要替换所有代码,请使用s.replace(/\./g,“\\”)
。然后像“User1.Title.Subtitle”这样的东西也会起作用。我发现这里的第一个解决方案对我很有效。n使用jQuery调整css属性时,转义和替换的组合不起作用。