I've come across some behavior of not() that doesn't match the docs,
or I'm not understanding the docs.

Given the following form:

 <form>
  <input type=hidden name=a>
  <input type=hidden name=b>
 </form>

I'd expect "$('form :input:not(:hidden[name=a])')" to return "[<input
type=hidden name=b>]",
since "$('form :hidden[name=a]')" returns "[<input type=hidden
name=a>]" and
and not(selector) should "Filters out all elements matching the given
selector".

However, "$('form :input:not(:hidden[name=a])')" instead returns
"[ ]" (empty array), acting more like
"$('form :input:not(:hidden):not([name=a])')" or "$
('form :input:not(:hidden,[name=a])')" (i.e. "or"ing the selector
parameters instead of "and"ing them).

"$('form :input').not(':hidden[name=a])')" produces the same results
(empty array). I'd expect it to be the inverse of "$
('form :input').filter(':hidden[name=a])')" (which returns "[<input
type=hidden name=a>]".

Am I misunderstanding the docs, or is this a bug with not()?

I get the same results in both 1.2.1 and 1.1.4. Tested on FF2.0.0.8/
Win.

Thanks.
Pete.

Reply via email to