ChrisB: JQuery und Co

Beitrag lesen

Hi,

Es hat den Anschein als ob diese Funktion alleine schon aufhält:

function checked(sel){

if ($(sel).is(":checked")){
if ($(sel).is(":disabled")) return false;
else return true;
}
else return false;
}

  

> Ich möchte damit abfragen ob eine Checkbox gecheckt ist, aber nicht disabled.  
  
Das würde ich gleich „an jQuery vorbei” machen:  
  
~~~javascript
function isCheckedButNotDisabled(sel){  
  var elem = $(sel);  
  if(!elem) return false;  
  return elem.checked && !elem.disabled;  
}

Erst noch das Element aus einem „Selektor” heraus ermitteln zu lassen, könnte man vielleicht auch noch dadurch ersetzen, dass direkt eine Elementreferenz als Übergabeparameter erwartet wird.

Jeder Aufruf einer Selektor-Funktionalität in egal welchem Framework wird immer mehr Zeit kosten - selbst wenn das Framework selber irgendwie cached - als die simple Referenz auf das zu bearbeitende Objekt, aus einer lokalen Variablen entnommen.

Frameworks verführen die Leute m.E. zu oft dazu, es mit all diesem „fancy sh^Htuff” zu übertreiben. Da bildet sich dann manch einer ein, je öfter er $(...) oder analoges benutzt, desto unabhängigere und besser wiederverwendbare Scripte würde er schreiben.

Jedes Nutztier der Gattung eierlegende Wollmilchsau verliert erheblich an Wert, wenn man es bei jeder weiteren Verwendung hinsichtlich der Performance erst mal wieder auf ein annehmbares Maß zurechtmetzgern muss, damit es den eher geringen Umfang der konkreten Einzelaufgabe zeitlich halbwegs akzeptabel hinbekommt.

MfG ChrisB

--
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]