I am working with jquery and attempting to add a class to a table on the selection of that table row.
I was initially using the following code –
$(this).parents("tr").toggleClass("over", this.clicked);
For some reason, that wasn’t working in only some instances where there was already a class assigned.
Before I went too crazy with any troubleshooting, I changed it to the following –
$(this).parents("tr").addClass("over", this.clicked);
This new option appears to be working fine.
My question is whether one option above is better than the other…..Should I be using toggleClass instead of addClass, or is addClass sufficient?
thanks for any thoughts.
addClassdoes just that, adds the class to the element.toggleClasson the other hand does THAT, toggles the class, removing it if it’s there, otherwise adding it, but optionally taking a boolean value (true/false) to determine if the object should be added (true) or removed (false).toggleClassprobably wasn’t working for you in the instances wherethis.clickedwasfalse, which is expected behavior. The argument you’re passing inaddClasshas no effect, since it ALWAYS adds the class.Conclusion:
Use
toggleClassfor toggling classes, useaddClassfor adding classes.