Modify ↓
Ticket #7555 (closed bug: duplicate)
Incorrect .is() behavior when checking for attribute with no value
| Reported by: | alexanderkahn@… | Owned by: | |
|---|---|---|---|
| Priority: | low | Milestone: | 1.next |
| Component: | selector | Version: | 1.4.4 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
Given this markup:
<div data-hi></div> <div data-hi></div>
Running this code:
$('div').is('[data-hi]');
should return true, since .is() returns true if any member of the collection matches its query. But it returns false.
This is illustrated here: http://jsfiddle.net/ujP2Y/8/
See also #5930.
Change History
comment:2 Changed 3 years ago by rwaldron
- Priority changed from undecided to low
- Status changed from new to open
- Component changed from unfiled to selector
- Milestone changed from 1.5 to 1.4.5
Confirmed;
comment:3 Changed 3 years ago by ajpiano
This fiddle illustrates just how anomalous this is, for anyone who is curious. http://jsfiddle.net/ajpiano/qUwL7/
comment:4 Changed 3 years ago by jitter
Same test as by ajpiano but more browsers tested http://www.jsfiddle.net/jitter/CnJPA/
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.
Note: See
TracTickets for help on using
tickets.

Note that this bug only happens if the there are multiple elements in the collection matching the attribute query. If just one element has the attribute, .is() works as expected.