aktualisieren Added jsfiddle - siehe unten auf die PostjQuery Unterschied in der Leistung ohne „jeder“
Im Moment habe ich eine Funktion, die alle deaktivierten Felder auf dem Bildschirm reaktiviert. Während es ziemlich schnell läuft (< 1ms nach Firebug-Profiler), bin ich in dem Prozess die Javascript von aufzuräumen alle in meinen Bildschirmen und rechnete diese spezielle Funktion schien ein wenig überflüssig zu sein:
function enableDisabledFields() {
$('[disabled]').each(function(i) {
$(this).removeAttr('disabled');
});
}
ich unter war der Eindruck, dass diese 3 Zeilen könnte wie folgt ersetzt werden, und ich erwartete, wenn nicht besser als mindestens gleich Leistung.
function enableDisabledFields() {
$('[disabled]').removeAttr('disabled');
}
Anscheinend liege ich falsch. Der erste führt viel besser und ich verstehe nicht ganz warum. Selbst das Hinzufügen zusätzlicher Selektoren wie: Eingabe macht keinen Unterschied (und macht es sogar noch schlimmer).
Kann jemand meine Verwirrung klären? Vielen Dank.
Bearbeiten Ich sollte hinzufügen, dass wir eine alte Version von jQuery verwenden - 1.3.1 glaube ich.
Edit2 Hier sind einige Links jsFiddle. Bitte beachten Sie, dass ich Firebugs Profiler (, von dem ich denke, dass es der Fall zu sein scheint,) falsch interpretiere.
Option 1: http://jsfiddle.net/kcut7/
Option 2: http://jsfiddle.net/ZgZpU/
Gibt es eine Chance, dass Sie ein paar Seiten auf http://jsfiddle.net/ einrichten können? –
Wenn Sie "viel besser" sagen, welche Zahlen erhalten Sie für beide? – Ben
beide macht das gleiche richtig ?? – kobe