(Das einzige, was ich denken kann, ist, dass dies das Element anstelle ein jQuery-Objekt in $("...").each(function)
-calls, wie $(element)
häufig dann nur das Element verwendet wird. Und die extrem kleine Sache ist es nur etwa.
Beispiel für die oben (vereinfacht und ich weiß, dass es andere viel bessere Möglichkeiten, dies zu tun, ich konnte einfach nicht jetzt ein besseres Beispiel):
// Make all divs that has foo=bar pink.
$("div").each(function(){
if($(this).attr("foo") == "bar"){
$(this).css("background", "pink");
}
});
each
ist eine Funktion, die eine nimmt Funktion als Parameter, diese Funktion wird für jedes passende Element einmal aufgerufen nction übergeben, this
bezieht sich auf das eigentliche Browser-DOM-Element, aber ich finde, dass Sie oft einige jQuery-Funktion für jedes Element verwenden möchten, also $(this)
verwenden müssen. Wenn dies auf $(this)
festgelegt wurde, erhalten Sie einen kürzeren Code, und Sie können weiterhin auf das DOM-Elementobjekt zugreifen, indem Sie this.get(0)
verwenden. Jetzt sehe ich den Grund dafür, dass die Dinge so sind, wie sie sind, nämlich dass das Schreiben $(this)
statt dessen, ist kaum das umständlich, und für den Fall, dass Sie tun können, was Sie mit dem DOM-Element tun wollen, ist es schneller als es ist hätte sein können, und der andere Weg wäre nicht schneller in dem Fall Sie wollen $(this)
.)
Sie haben mich dort verloren. Ich denke ich weiß was du meinst, aber, könntest du es ein bisschen besser erklären? – Juan
Juan: Ich habe ein riesiges Beispiel und eine Erklärung im Detail hinzugefügt, hoffentlich kristallklar. – svinto