////////////////////////////////////////////// // Toggle attribute $.fn.toggleAttr = function(attr, val) { var test = $(this).attr(attr); // if attribute exists with ANY value, remove it if(test) { $(this).removeAttr(attr); } else { $(this).attr(attr, val); } return this; }; /* usage: $('.class').toggleAttr('colspan', 6); */ ////////////////////////////////////////////// // Toggle attribute value (only) $.fn.toggleAttrVal = function(attr, val1, val2) { var test = $(this).attr(attr); if (test === val1) { $(this).attr(attr, val2); return this; } if (test === val2) { $(this).attr(attr, val1); return this; } // default to val1 if neither $(this).attr(attr, val1); return this; }; /* usage: $('.class').toggleAttrVal('value', 0, 1); */