Ich weiß, das alt ist und beantwortet, aber ich hatte vor kurzem dies zu implementieren und entschied 2 einfachen jQuery-Plugins zu machen, die für die Interessenten
Nutzung helfen können:
// 1
$('.container').toggleAttr('aria-hidden', "true");
// 2
$('.container').toggleAttrVal('aria-hidden', "true", "false");
1 - Schaltet die gesamte Attribut unabhängig davon, ob der ursprüngliche Wert nicht dem von Ihnen angegebenen entspricht.
2 - Schaltet den Wert des Attributs zwischen den 2 angegebenen Werten um.
// jquery toggle whole attribute
$.fn.toggleAttr = function(attr, val) {
var test = $(this).attr(attr);
if (test) {
// if attrib exists with ANY value, still remove it
$(this).removeAttr(attr);
} else {
$(this).attr(attr, val);
}
return this;
};
// jquery toggle just the attribute value
$.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;
};
Dies ist, wie Sie es im ursprünglichen Beispiel verwenden würden:
für
$(".list-toggle").click(function() {
$(".list-sort").toggleAttr('colspan', 6);
});
http://jsfiddle.net/49u2q/6/ –
Verwendung jquery Methode prop() anstelle von attr() bessere Browserkompatibilität – TomoMiha
Cache Ihren Knoten. var $ listSort = $ ('. list-sort') – JamesTBennett