Bug Tracker

Ticket #6846 (closed bug: worksforme)

Opened 4 years ago

Last modified 2 years ago

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

jquery-test.html Download (353 bytes) - added by gwatts 4 years ago.

Change History

Changed 4 years ago by gwatts

comment:1 Changed 4 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:

 http://forum.jquery.com

Note: See TracTickets for help on using tickets.