Я пытаюсь использовать jQuery внутри расширения Firefox и на самом деле хочу использовать jQuery для управления DOM текущей страницы, в отличие от контекста XUL файла. . Таким образом, я загружаю jQuery в свой XUL-файл и передаю его некоторым из моих сценариев в песочнице (с помощью компилятора расширения Greasemonkey http://arantius.com/misc/greasemonkey/script-compiler ). Поскольку jQuery не был загружен с DOM страницы, я хочу установить контекст его селектора на DOM страницы вместо того, чтобы всегда передавать его в вызовы jQuery.
Я следил за решением на Как использовать jQuery в расширении Firefox , и он почти достигает того, чего я хочу.
jQuery.noConflict();
$ = function(selector,context){ return new jQuery.fn.init(selector,context||example.doc); };
$.fn = $.prototype = jQuery.fn;
Я могу вызывать функцию jQuery (), и DOM страницы будет использоваться в качестве контекста. Однако я не могу использовать такие функции, как jQuery.trim, поскольку они не определены.
Я думал, что эта строка из решения
$.fn = $.prototype = jQuery.fn;
позволит моему собственному объекту jQuery наследовать все свойства прототипа jQuery, но, очевидно, это не так. t.
Дайте ванильный объект jQuery, как мне переопределить его, чтобы использовать определенный элемент в качестве контекста селектора, с сохранением всех функций jQuery?