Какой лучший способ использовать jQuery()
? Я слышал, что jQuery(element)
не разрушает код, например. Wordpress. Но $
проще и быстрее писать.
Какой из них вы предпочитаете и почему?
Какой лучший способ использовать jQuery()
? Я слышал, что jQuery(element)
не разрушает код, например. Wordpress. Но $
проще и быстрее писать.
Какой из них вы предпочитаете и почему?
Мой порядке предпочтения является $()
, то var $jq = jQuery.noConflict(); $jq()
, то в конце концов jQuery()
. Вы также можете ограничить область функции $
, выполнив:
;(function($){
...in here $ means jQuery...
})(jQuery);
То есть создать анонимную функцию с параметром $
, передать в JQuery в качестве параметра и в функции область параметра перекрывает любые глобальная область $
функция. Последнее наиболее полезно при создании плагинов самостоятельно.
$ стенография также используется другими фреймворками (например, прототипом), поэтому, если вы не используете это, не стесняйтесь использовать $ для сокращения. Насколько я знаю, эти два являются просто псевдонимами друг друга.
Это зависит от того, что вам нужно сделать, они оба идентичны.
Если вы используете другую библиотеку как прототип (который также использует $), вам нужно нам JQuery, но в большинстве случаев, где нет никакого столкновения, просто использовать $()
Спасибо за оба ответа, это один был немного быстрее, хотя :-D –
Для вашей собственной расширения, которые используют $
только для вызова jQuery
, вы можете также использовать стандартный трюк оберточной кода, как этот
(function($) {
... your other code using $(selector).moo here ....
})(jQuery);
Большая часть моего кода jQuery подразделяется на две категории: плагины и нагрузка на странице.
Для плагинов, вот самый простой способ:
(function($) {
$.fn.myplugin = function() { ... };
})(jQuery);
Для на страницах нагрузки материал, который является большинство из них, просто сделать это:
jQuery(function($) {
$('a[href$="foo"]').click(...);
});
Таким образом, это Безразлично» Неважно, если есть дополнительные библиотеки (например: Prototype), и вы все равно можете использовать $ вместо того, чтобы печатать «jQuery» каждый раз.
Вы можете использовать var jq=jQuery.noConflict();
, чтобы иметь дело с конфликтами имен.
Ex:
var $jq=jQuery.noConflict();
$jq("p").hide();
Это не будет работать! Откуда появился '$ jq'? – Eric
@ Eric-thanks, это была опечатка. Исправил мой ответ. – SoftwareGeek
Argh, ninja'd: р –