Bug Tracker

Opened 10 years ago

Closed 10 years ago

#11740 closed bug (worksforme)

.not() method

Reported by: [email protected] Owned by: [email protected]
Priority: undecided Milestone: None
Component: unfiled Version: 1.7.2
Keywords: Cc:
Blocked by: Blocking:

Description

I have this html structure. <div class="collapsible">

<div class="collapsor">click me</div> <div class="collapsing">I'm hidden</div>

<div> <div class="collapsible">

<div class="collapsor">click me 2</div> <div class="collapsing">I'm hidden 2</div>

<div>

It's a basic accordion, so on initialization I want to collapse all the ".collapsing", except for the first one. I thought to do: $(".collapsing").not('.collapsible:first>.collapsing').hide(); but this doesn't work! infact the selection and the subsequent .not() result in an empty array. I realized this must be a bug because if I call: $(".collapsing",context).not($('.collapsible:first>.collapsing')).hide(); it works. (notice the call to $() inside the .not())

Change History (5)

comment:1 Changed 10 years ago by Rick Waldron

Owner: set to [email protected]
Status: newpending

Thanks for taking the time to contribute to the jQuery project! Please provide a complete reduced test case on jsFiddle to help us assess your ticket!

Additionally, be sure to test against the "jQuery (edge)" version to ensure the issue still exists. To get you started, use this boilerplate: http://jsfiddle.net/FrKyN/ Open the link and click to "Fork" (in the top menu) to begin.

comment:2 Changed 10 years ago by [email protected]

Status: pendingnew

I should really learn to read the guidelines *before* posting. But unfortunately I don't seem to be able to reproduce the effect on jsFiddle. It works as expected there, there is no difference between the two examples I made above. This isn't true for my webpages though. I'm using jQuery 1.7.2. :/

comment:3 Changed 10 years ago by Rick Waldron

Are you using TinyMCE? If so, you may want to upgrade to the latest version - this sounds like a report we previously received that turned out to be caused by TinyMCE

comment:4 Changed 10 years ago by [email protected]

No I'm not using TinyMCE. I have made a static snapshot of my page. You can visit it here: http://bss.rel.to/test_collapse.html The code is in the ./js/collapse.js file As you can easily test with a JS console, the set returned by

$(".collapsing",context).not($('.collapsible:first>.collapsing'))

is not the same of

$(".collapsing",context).not('.collapsible:first>.collapsing')

but, unless I'm interpreting wrong the .not() documentation, they should be equivalent.

comment:5 Changed 10 years ago by Rick Waldron

Resolution: worksforme
Status: newclosed
Note: See TracTickets for help on using tickets.