Bug Tracker

Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#8229 closed bug (invalid)

jquery selecter not compatible with

Reported by: [email protected] Owned by:
Priority: low Milestone: 1.next
Component: selector Version: 1.5
Keywords: Cc:
Blocked by: Blocking:

Description

old jquery 1.4.2 $("#foo").find('input[name=test[]]'); is right; new jquery 1.5.0 is error must $("#foo").find("input[name='test[]']"); More rigorous, but cannot and front version compatible

Change History (7)

comment:1 Changed 12 years ago by jitter

Component: unfiledselector
Priority: undecidedlow
Resolution: invalid
Status: newclosed

Thanks for taking the time to contribute to the jQuery project by writing a bug report.

As you didn't provide the test case required by the bug reporting guidelines I went ahead and made this one myself http://jsfiddle.net/jitter/njF8R/ . As you can see input[name=test[]] isn't a valid CSS selector and neither is it a valid selector in jQuery (if this worked in an earlier version then it was actually a bug that got fixed). So you should fix your code to use a valid selector.

The documentation is also pretty clear about these kind of selectors:

http://api.jquery.com/category/selectors/

If you wish to use any of the meta-characters ( such as !"#$%&'()*+,./:;[email protected][\]`{|}~ ) as a literal part of a name, you must escape the character with two backslashes

http://api.jquery.com/category/selectors/attribute-selectors/

Attribute values in selector expressions must be surrounded by quotation marks.

http://api.jquery.com/attribute-equals-selector/

Quotes are mandatory.

Basically a dupe of #8120

Last edited 12 years ago by jitter (previous) (diff)

comment:2 in reply to:  1 Changed 12 years ago by [email protected]

Replying to jitter:

Thanks for taking the time to contribute to the jQuery project by writing a bug report.

As you didn't provide the test case required by the bug reporting guidelines I went ahead and made this one myself http://jsfiddle.net/jitter/njF8R/ . As you can see input[name=test[]] isn't a valid CSS selector and neither is it a valid selector in jQuery (if this worked in an earlier version then it was actually a bug that got fixed). So you should fix your code to use a valid selector.

The documentation is also pretty clear about these kind of selectors:

http://api.jquery.com/category/selectors/

If you wish to use any of the meta-characters ( such as !"#$%&'()*+,./:;[email protected][\]`{|}~ ) as a literal part of a name, you must escape the character with two backslashes

http://api.jquery.com/category/selectors/attribute-selectors/

Attribute values in selector expressions must be surrounded by quotation marks.

http://api.jquery.com/attribute-equals-selector/

Quotes are mandatory.

Basically a dupe of #8120

Thank your answer!O(∩_∩)O~

comment:3 Changed 12 years ago by jitter

#8246 is a duplicate of this ticket.

comment:4 Changed 12 years ago by jitter

#8282 is a duplicate of this ticket.

comment:5 Changed 12 years ago by jitter

#8309 is a duplicate of this ticket.

comment:6 Changed 12 years ago by jitter

#8351 is a duplicate of this ticket.

comment:7 Changed 12 years ago by Rick Waldron

#8410 is a duplicate of this ticket.

Note: See TracTickets for help on using tickets.