Set class in jQuery

live627

  • Should five per cent appear too small / Be thankful I don't take it all / 'Cause I'm the taxman, yeah I'm the taxman
  • Messages: 1 670
Set class in jQuery
« le 10 Juillet 2012 à 08:15 »
Is there an equivalent function in jQuery that does the same thing as className other than attr()?
A confident man keeps quiet.whereas a frightened man keeps talking, hiding his fear.

Nao

  • Dadman with a boy
  • Messages: 16 082
Re: Set class in jQuery
« Réponse #1, le 10 Juillet 2012 à 10:29 »
You mean .hasClass('class')...?
Or simply .is('.class')? (A bit slower though.)
If you want to assign a class, use .addClass('class') or .toggleClass('class'). The opposite is .removeClass('class').
If you want to get a list of all classes, you'll have to rely on $()[0].className or $().attr('class'), AFAIK.

live627

  • Should five per cent appear too small / Be thankful I don't take it all / 'Cause I'm the taxman, yeah I'm the taxman
  • Messages: 1 670
Re: Set class in jQuery
« Réponse #2, le 10 Juillet 2012 à 23:40 »
Hmm... okay. So there's no hidden magic function that I missed. Thanks anyway, Nao!

Nao

  • Dadman with a boy
  • Messages: 16 082
Re: Set class in jQuery
« Réponse #3, le 11 Juillet 2012 à 00:36 »
Well, there's nothing wrong is using className (or anything purely JS) even when jQuery equivalents are available. I usually choose to use jQ in these situations because the code is shorter and thus compresses better.

Speaking of which, I just finished rewriting Zoomedia... The code works much better, and is about 150 bytes shorter :D

live627

  • Should five per cent appear too small / Be thankful I don't take it all / 'Cause I'm the taxman, yeah I'm the taxman
  • Messages: 1 670
Re: Set class in jQuery
« Réponse #4, le 11 Juillet 2012 à 00:54 »
Same in my case... I need to set a class to multiple elements at once, and I can use JQ's .attr(), which saves me typing.