Ticket #6093 (closed bug: fixed)
Escaping broken for find selector
|Reported by:||Chealer||Owned by:||john|
|Keywords:||escape selector find metacharacters||Cc:|
|Blocking:||#6428, #6448||Blocked by:|
The selector used for .find() doesn't support escape characters like it should according to the documentation on http://api.jquery.com/category/selectors/ (note that this documentation is misleading; see http://dev.jquery.com/ticket/4944 ). I was not able to get find to work with any selector using an escaped meta-character. This includes brackets, the single quote, "(" and others. The test case illustrates the issue with "(". I only tried with Attribute Equals Selector [name=value].
jQuery tries to support improperly escaped selectors. For example, .find('input[value="Hot F(uzz"]') works for "Hot F(uzz", even though the selector should be "Hot F\(uzz)". Of course, this is unreliable and escaping should be used, but escaping doesn't seem to work at all, either with 1.3.2 or 1.4.1.
http://dev.jquery.com/ticket/5546 seems related to this. It's confusing, but seems to basically say that escaping a certain string doesn't work, just like not escaping it (as reported in http://dev.jquery.com/ticket/3778 which is probably invalid since it doesn't use escaping).
- Priority set to blocker
- Status changed from new to open
- Version changed from 1.4.1 to 1.4.3
- Blocking 6428, 6448 added
- Milestone set to 1.5
- Status changed from assigned to closed
- Resolution set to fixed