jqLite - Kompatibilität mit jQuery
AngularJS ist Kompatibel mit jQuery. AngularJS enthält sogar eine abgespeckte Version von jQuery. Diese wird intern jqLite genannt. jqLite enthält nur die wichtigsten Funktionen, um die Arbeit am DOM in Direktiven zu erleichtern. Neben dem fehlenden Funktionsumfang ist auch die Performance etwas schlechter.
Wenn jQuery allerdings eingebunden ist, erkennt AngularJS dies und ersetzt jqLite durch die jQuery. Das bedeutet, wenn nur AngularJS eingebunden ist, verweist angular.element
auf jqLite. Wird jQuery zusätzlich eingebunden, verweist angular.element
auf jQuery.
Es ist deshalb immer ratsam in Direktiven z.B. angular.element('.item')
statt $('.item')
zu schreiben, um ein Element zu referenzieren.
Unterstützt werden:
- addClass()
- after()
- append()
- attr()
- bind()
- children()
- clone()
- contents()
- css()
- data()
- eq()
- find() - Begrenzt auch die Suche nach Tag-Namen
- hasClass()
- html()
- next()
- parent()
- prepend()
- prop()
- ready()
- remove()
- removeAttr()
- removeClass()
- removeData()
- replaceWith()
- text()
- toggleClass()
- triggerHandler()
- unbind()
- val()
- wrap()
Für den aktuellsten Stand lohnt sich ein Blick in den Quellcode: jqLite.