Bug Tracker

Ticket #7555 (closed bug: duplicate)

Opened 4 years ago

Last modified 3 years ago

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:1 Changed 4 years ago by Alex Kahn <alexanderkahn@…>

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.

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

comment:3 Changed 4 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 4 years ago by jitter

Same test as by ajpiano but more browsers tested  http://www.jsfiddle.net/jitter/CnJPA/

comment:5 Changed 3 years ago by john

  • Status changed from open to closed
  • Resolution set to duplicate

comment:6 Changed 3 years ago by john

Duplicate of #5637.

Note: See TracTickets for help on using tickets.