Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ID选择器中的jQuery点?_Jquery_Jquery Selectors - Fatal编程技术网

ID选择器中的jQuery点?

ID选择器中的jQuery点?,jquery,jquery-selectors,Jquery,Jquery Selectors,可能重复: 我有一个网站,包含类似的元素: <p id="root.SomeCoolThing">Some Cool Thing</p> 使用中的转义规则,如下所示: $('#root\\.SomeCoolThing') 从: 要使用任何元字符(例如 !“#$%&'()*+,./:;?@[\]^`{124;})作为名称的文字部分,它必须 使用两个反斜杠转义:\\。例如,一个元素 id=“foo.bar”,可以使用选择器$(“#foo\\\.bar”) 你可以用这样

可能重复:

我有一个网站,包含类似的元素:

<p id="root.SomeCoolThing">Some Cool Thing</p>

使用中的转义规则,如下所示:

$('#root\\.SomeCoolThing') 
从:

要使用任何元字符(例如
!“#$%&'()*+,./:;?@[\]^`{124;}
)作为名称的文字部分,它必须 使用两个反斜杠转义:
\\
。例如,一个元素
id=“foo.bar”
,可以使用选择器
$(“#foo\\\.bar”)


你可以用这样的方法来逃避周期

$("#root\\.SomeCoolThing")

此处从臀部拍摄,但如果无法更改元素的ID,请尝试使用此选择器:

$("p[id=root.SomeCoolThing]")
使用attr工作:

$('p[id="root.SomeCoolThing"]')

在每个特殊字符前使用两个反斜杠

  $('#root\\.SomeCoolThing')

您需要摆脱特殊角色:

$('#root\\.SomeCoolThing')

如果希望将任何元字符(如!“#$%&'()*+,./:;?@[]^`{124;}~)用作名称的文字部分,则必须使用两个反斜杠转义字符:\\。例如,如果您有一个带有id=“foo.bar”的元素,您可以使用选择器$(“#foo\\\.bar”)。


虽然有一个双“\\”的解决方案。为什么要在id内加一个点?这个网站不是我做的。我也不喜欢ID名称。更准确地说,它是一个API文档,没有什么可怕的地方——根据规范,它是一个完全有效的选择器。啊,我明白了。尝试使用一个反斜杠,但无效。非常感谢。我试过$(“#root\\.SomeCoolThing”),效果不错。但是当我尝试使用双引号的$(“#root\\.SomeCoolThing”)时,它不起作用。你知道jQuery中单引号和双引号的区别吗?我不知道,我的id中有两个或更多的点。@charlietfl请注意,带反斜杠的点表示法要快得多:“一行”有时不够有用。除了一个简单的语句之外,还要解释你的想法……这也是jQuery部分的大量额外处理,这是不必要的,你真正需要做的就是转义“.”字符…@Ian。当您事先不知道id时,它很有用。它可能是从json对象中获取的变量。不能没有
:错误:语法错误,无法识别的表达式:p[id=details\u It.airgap.vault]`
$('#root\\.SomeCoolThing')