Ticket #6846 (closed bug: worksforme)
Cannot select tags with ids containing periods
| Reported by: | gwatts | Owned by: | |
|---|---|---|---|
| Priority: | Milestone: | 1.4.3 | |
| Component: | selector | Version: | 1.4.2 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
$('#some.id') will not match a tag with an id of "some.id" even though it's valid HTML according to http://www.w3.org/TR/html4/types.html#type-name
Updating quickExpr on line 38 of jquery-1.4.2.js to add the period to the regex fixes it for me: quickExpr = /[<]*(<[\w\W]+>)[>]*$|#([\w.-]+)$/
I guess to agree with the spec it should also include colons and underscores.
Attachments
Change History
comment:1 Changed 3 years ago by dmethvin
- Status changed from new to closed
- Resolution set to worksforme
$("#some.id") Matches an id of "some" with a class of "id", just as it does with CSS selectors. If you want to make your life hard and use ids with dots, you'll need to escape it with a backslash. Since Javascript uses backslash as an escape as well, you have to use two backslashes in the string.
$("#some\\.id")
The best place to ask questions like this is on the forum:
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

