jQuery dot in ID selector? [duplicate]
Solution 1:
Use the escaping rules from the jQuery selectors API as follows:
$('#root\\.SomeCoolThing')
From the docs:
To use any of the meta-characters (such as
!"#$%&'()*+,./:;<=>?@[\]^`{|}~
) as a literal part of a name, it must be escaped with with two backslashes:\\
. For example, an element withid="foo.bar"
, can use the selector$("#foo\\.bar")
.
Solution 2:
Using attr works:
$('p[id="root.SomeCoolThing"]')
Solution 3:
You need to escape special chars:
$('#root\\.SomeCoolThing')
docs:
If you wish to use any of the meta-characters ( such as !"#$%&'()*+,./:;<=>?@[]^`{|}~ ) as a literal part of a name, you must escape the character with two backslashes: \\. For example, if you have an element with id="foo.bar", you can use the selector $("#foo\\.bar").