Если вы хотите использовать jQuery таким образом:
$("*").namespace.do();
тогда в настоящее время нет плагинов, делающих это. (Я не могу найти ни плагин Джона Ресига jquery.space, который, по-видимому, перестал работать в jQuery 1.4, ни плагин Gilberto Saraiva, который, очевидно, не работал должным образом). Я бы с удовольствием посмотрел на функцию Джона, чтобы понять, почему она перестала работать, и что можно сделать, чтобы заставить ее работать, и, честно говоря, это был бы лучший подход для создания беспорядочных пространств имен.
Согласно http://malnotna.wordpress.com/2009/01/12/jquery-namespace-support/ другой подход состоит в том, чтобы сделать пространство имен следующим образом (используя jQuery.Modularize Ariel Flesler):
$("*").namespace().do()
но такой синтаксис не "хорош". Мы также передаем результаты от одной функции к другой.
Мой подход к созданию пространств имен заключается не в том, чтобы помещать пространства имен в конец, а в начало $, поэтому наш синтаксис пространства имен $ ('*'). Is становится следующим:
$.namespace("*").do()
Странно, я не знаю, почему такой подход не упоминается, так как он легко позволяет создавать незакрашенные пространства имен без перезаписи уже существующих функций (с помощью $ .sub ()). Кроме того, чтобы это работало, ничего не требуется. Итак:
(function($){
$.namespace = $.sub();
$.fn.test = function(){ return 1 };
$.namespace.fn.test = function() { return 2};
})(jQuery);
console.log($('*').test(), $.namespace('*').test());
И ты готов к работе.