Ich versuche, jQuery in einer Firefox-Erweiterung zu verwenden, und möchte jQuery verwenden, um das DOM der aktuellen Seite im Gegensatz zum Kontext der XUL-Datei zu bearbeiten. Daher lade ich jQuery in meine XUL-Datei und übergebe sie an einige meiner Skripte in einer Sandbox (mit dem Greasemonkey-Extension-Compiler http://arantius.com/misc/greasemonkey/script-compiler). Da jQuery nicht mit dem Seiten-DOM geladen wurde, möchte ich seinen Auswahlkontext auf das Seiten-DOM setzen, anstatt es immer in jQuery-Aufrufe zu übergeben.Standard-jQuery-Selektor-Kontext überschreiben
Ich folgte der Lösung bei How to use jQuery in Firefox Extension und es erreicht fast, was ich will.
Ich bin in der Lage, Aufrufe der jQuery() -Funktion zu machen, und die Seite DOM wird als Kontext verwendet. Allerdings kann ich Funktionen wie jQuery.trim nicht verwenden, da diese nicht definiert sind.
dachte ich diese Zeile aus der Lösung
$.fn = $.prototype = jQuery.fn;
mein eigenes jQuery-Objekt erbt alle der jQuery Prototyp Eigenschaften, aber es offenbar nicht lassen.
Geben Sie ein Vanille-jQuery-Objekt, wie definiere ich es neu, um ein bestimmtes Element als Selektorkontext zu verwenden, während alle jQuery-Funktionen beibehalten werden?
ich es für Sie hoffen funktioniert. Als ich versuchte, jQuery in einer Erweiterung zu verwenden und es in ein XUL-Overlay zu laden, löste es irgendwie die Überlagerungen anderer Plugins wie die Webdeveloper-Symbolleiste. Vielleicht klappt es jetzt besser. Passen Sie nur auf! –