Reputation: 5617
I want to do somethings in jQuery to all the elements which match on a certain class name. The class name comes from a variable. How do I do the select using by class using my variable?
var x = $(this).attr('href').slice(1);
this will set x
equal to the name of the class
I want.
now I want to select all the elements with that class name
I try stuff like this but it doesn't work
$(.x.show().addClass('active').siblings().hide().removeClass('active');
basic basically I want affect all the elements with where class = x
Finally, instead of setting x
to the class name, can I just get my array
of classes in the first variable assignment?
i.e. instead of
var x = $(this).attr('href').slice(1);
can I do this [pseudo code]:
var x = classname is $(this).attr('href').slice(1);
Upvotes: 6
Views: 27703
Reputation: 7663
try changing your code like this
$('.' + x).show().addClass('active').siblings().hide().removeClass('active');
Upvotes: 6
Reputation: 255155
Selector is nothing more than just a string. So you could use
$('.' + classname)
where classname
is a variable that holds particular class name
Upvotes: 29