LX: JQuery und Co

Beitrag lesen

Warum machst Du es Dir so schwer?

function checked(sel) {  
    return $(sel).is(':checked:not(:disabled)');  
}  

Und schon wird nur noch ein Selektor ausgeführt - und auch dieser nur, um true oder false zurückzugeben.

Andererseits bleibt anzumerken, dass der IE (besonders manche ältere Version) bei Attributen von Formularelementen sehr oft eine Langsamkeit an den Tag legt, die schon an Behinderung grenzt.

Des weiteren ist es weniger hilfreich, die Funktion selbst zu übergeben. Besser wäre es da, statt der obigen Funktion innerhalb der Funktion meldung den entsprechenden Test zu machen:

function meldung(sel, id, text) {  
   if (!$(sel).is(':checked:not(:disabled)')) { return; }  
   ...  
}

Dazu folgender Hinweis: der IE braucht für jede Funktion, die er in seinem Stack aufbauen muss, einige Millisekunden. Wenn man also sinnvoll Funktionen vermeiden kann, ist es keine dumme Idee, dies im IE auch zu tun.

Gruß, LX

--
RFC 1925, Satz 6a: Es ist immer möglich, einen weiteren Umweg einzufügen.
RFC 1925, Satz 11a: Siehe Regel 6a