I tooke some time to implement this functionality and also included
unit tests in my patch proposal.

http://dev.jquery.com/attachment/ticket/3825/toggleClass.diff

Hope it helps! =)

On Jan 11, 2:59 pm, Cloudream <[email protected]> wrote:
> http://dev.jquery.com/ticket/3825
>
> The second one is also not bad :D Since .addClass and .removeClass
> both support multi-class with space between class name .toggleClass
> should support that too I think.
>
> On Jan 11, 10:19 pm, "John Resig" <[email protected]> wrote:
>
> > Interesting. I like the first one especially. Could you file a bug on
> > these? I'd definitely like to look into them later, but probably not
> > in time for 1.3.
>
> > --John
>
> > On Sun, Jan 11, 2009 at 3:42 AM, Cloudream <[email protected]> wrote:
>
> > > 1. remove/re-add all original CSS class
>
> > > implement: save original class to $.data on elements
>
> > > Case:
> > > el: <span class="a b" />
>
> > > step#1:$(el).toggleClass();
> > > -save "a b" to $.data(this,"originalClass"), then remove "a b" class
> > > on this element.
> > > step#2:$(el).toggleClass();
> > > -restore $.data(this,"originalClass")(if exists) to this element.
>
> > > And with boolean:
> > > step#1:$(el).toggleClass(false);
> > > -save "a b" to $.data(this,"originalClass"), then remove "a b" class
> > > on this element.
>
> > > step#1:$(el).toggleClass(true);
> > > -restore $.data(this,"originalClass")(if exists) to this element.
>
> > > 2.handle multi-class without boolean.
> > > use .toggleClass("c b") instead of .toggleClass("c").toggleClass("b")
>
> > > implement: split className string before pass it to $.className[add/
> > > remove], and handle each one separately
>
> > > Case:
> > > el: <span class="a b" />
>
> > > step#1:$(el).toggleClass("b c");
> > > -remove class "b" and add class "c" on this element.
> > > step#2:$(el).toggleClass("b c");
> > > -remove class "c" and add class "b" on this element.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to