Es stimmt, dass jQuery viel mehr als nur eine ist Wählmotor. Aber es scheint wie eine Menge von dem, was sonst noch, es könnte durch Rand Browser umgangen worden Blutungen, zum Beispiel:
Animationen
jQuery Effekte wie belebten(), fadeOut(), etc gesorgt von CSS Übergängen.
Ajax
jQuery kümmert sich um abstrahierende Browser Unterschiede, wie ActiveXObject("Microsoft.XMLHTTP")
statt XmlHttpRequest()
in älteren Versionen von IE verwenden. Dieser Fallback wird schnell überflüssig.
jQuery's Ajax bietet auch JSON-P für domainübergreifendes Ajax. Dies ist nicht notwendig mit der richtigen domänenübergreifenden XmlHttpRequest, wie sie in den neuesten Browsern implementiert ist.
Ereignis Bindung
jQuery abstrahiert attachEvent
IE vs allen anderen addEventListener
. Aber da IE9 die Standardmethode bereitstellen wird, wird diese Abstraktion auch überflüssig.
Dies alles bedeutet, dass "auf das rohe JavaScript herunterfallen" weniger barbarisch als in der Vergangenheit wird. Es ist jedoch immer noch schön, die Bibliothek zu haben. Nehmen Sie jQuerys zentrales Genie, die Idee von Sets, die parallel bearbeitet werden. In jQuery schreiben Sie:
jQuery("#something").hide();
In roh JavaScript schreiben Sie:
var things = document.querySelectorAll("#something");
if (things.length > 0) {
things[0].style.display = "none";
}
Diese Art der Gnade wird nie vollständig von gebautet DOM-Methoden zur Verfügung.
Der Zweck von jQuery ist es, die Unterschiede zwischen Browsern zu glätten. Während einige dieses Verhalten implementieren, werden viele dies nicht tun, aber jQuery ermöglicht es Ihnen, die Funktionalität zu nutzen, ohne die Unterstützung für sie zu verlieren. –
Diese Änderungen führen dazu, dass jQuery in Zukunft ** besser ** wird. Weitere Informationen finden Sie in den jQuery 1.4.3-Versionshinweisen, in denen erwähnt wird, dass sie querySelectorAll verwenden, wo sie verfügbar sind, und sie haben die Browser-Anbieter aufgefordert, eine matchesSelector-Methode hinzuzufügen. http://blog.jquery.com/2010/10/16/jquery-143-released/ – Yahel
Relevanter Link: http://youmightnotneedjquery.com/ –