JQuery Плохие [закрытые] методы

18
задан Damjan Pavlica 22 March 2016 в 15:36
поделиться

4 ответа

James Padolsey написал отличную статью на коде jQuery Phosts. Я рекомендую прочитать это.

5
ответ дан 30 November 2019 в 06:11
поделиться

вещь, которую вы должны избегать, использует «простые в использовании» селекторы в каждой строке еще раз, потому что реализация JavaScript из селекторов не является что эффективно. Конечно, ребята jQuery оптимизируют его, однако я думаю, что вы должны использовать его как можно меньше.

Итак, это плохая практика.

$("li ul span").show();
$("li ul span").toggleClass("bubu");

цепи хорошее

$("li ul span").show().toggleClass("bubu");

и вспоминая вещи в локальной переменную тоже неплохо:

var allspans = $("li ul span");
allspans.show();
allspans.toggleClass("bubu");
31
ответ дан 30 November 2019 в 06:11
поделиться

Все еще используя старый документ готовности:

$("document").ready(function(){ });

вместо очень часто :

$(function(){ });

Это не очень плохо, но я показываю, что люди не встают с новыми API.

2
ответ дан 30 November 2019 в 06:11
поделиться

Есть два, что я вижу много:

Во-первых , в случае щелчка, идентификатор доступен как это:

$("a").click(function(e){
   var id = $(this).attr('id');
});

Это создает Новый Объект jQuery вокруг узла DOM, и вызывает функцию. Ниже правильный путь:

$("a").click(function(e){
   var id = this.id;
});

Примечание: Это вы также увидите $ (это) .attr ( «HREF») , но это правильно, потому что пути JQuery нормализуют его в разных браузерах.

второй не проходит ничего, кроме узла DOM в объем параметр вызова JQuery:

$(".child", $(".parent")).doSomething();
// or
$(".child", ".parent").doSomething();

Существует нет выигрыш в скорости на всех, делая это. Где вы видите увеличение скорости, когда у вас уже есть элемент DOM:

$('div').click(function(){
   $('img', this).doSomething(); // This is good
});
17
ответ дан 30 November 2019 в 06:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: