Okay, I've got an interesting one (well, interesting to me, anyway :) ).
I've got a situation where I have a div with a static class value, but it also can have a single, secondary class assigned that is dynamic. When the user makes a selection, any existing secondary class needs to be removed and the new class added.
Ignoring using an id value (standards for the project use the class . . . can't be changed), is there an elegant way to simply ignore the first class and remove whatever other class is there, before adding the new one?
Example Starting HTML:
<div class=staticClass dynaClass1 />
Example JS:
function updateClass(newSecondaryClass) {
$(.staticClass) . . . **** remove any class besides staticClass ****
$(.staticClass).addClass(newSecondaryClass);
}
If the function is called using updateClass(dynaClass2);
, the resulting HTML should be:
<div class=staticClass dynaClass2 />
I can think of ways of doing it involving just removing all classes using removeClass();
and adding staticClass back in when adding the new class, or using attr(class, staticClass + newSecondaryClass);
, but I'm wondering if there isn't a way to handle it without having to touch the static class at all?
In the end, I guess this is an academic question, more than anything . . . just seems like it's something that should be doable, but I don't know how to do it. :D