Skip to main content

Bug Tracker

Side navigation

#7459 closed bug (duplicate)

Opened November 10, 2010 05:46PM UTC

Closed November 10, 2010 08:06PM UTC

Last modified November 10, 2010 08:06PM UTC

Escaping meta-characters in Internet Explorer 6 and 7

Reported by: wall66@yandex.ru Owned by:
Priority: undecided Milestone: 1.5
Component: unfiled Version: 1.4.3
Keywords: Cc:
Blocked by: Blocking:
Description

Documentation for Selectors contains following part:

«If you wish to use any of the meta-characters (

#;&,.+*~':"!^$[]()=>|/@
) as a literal part of a name, you must escape the character with two backslashes:
\\\\
. For example, if you have an an input with
name="names[]"
, you can use the selector
$("input[name=names\\\\[\\\\]]")

Internet Explorer versions below 8 do not understand selectors with double backslashes before meta-characters in names.

For example, selector

$('input[name="files\\\\[\\\\]"]')
does not find tag
<input name="files[]" />
, while selectors
$('input[name="files\\[\\]"]')
,
$('input[name="files[]"]')
and
$('input[name=files[]]')
finds it in all browsers.

Which version of the selector is correct?

Please, represent your answer in documentation.

And sorry for my english, I hope you understand me.

Attachments (0)
Change History (5)

Changed November 10, 2010 06:28PM UTC by wall66@yandex.ru comment:1

Upd: it seems like this belongs only to "find" method

Changed November 10, 2010 06:31PM UTC by wall66@yandex.ru comment:2

http://jsfiddle.net/NtYs5/ - try to open it in different browsers

Changed November 10, 2010 06:47PM UTC by anonymous comment:3

in jQuery 1.4.2 and less problem shows up in all browsers

Changed November 10, 2010 08:06PM UTC by snover comment:4

resolution: → duplicate
status: newclosed

Changed November 10, 2010 08:06PM UTC by snover comment:5

Duplicate of #6428.