jQuery выбрать по classу VS выбрать по атрибуту

Я хочу просто попросить мнение о производительности: быстрее ли выбирать элементы по имени classа или по имени атрибута с помощью jquery? Пример: у меня есть 100 элементов DIVs в этой форме:

...

Что быстрее:

 $('div.normal_box').each(function(){...}); 

В.С.

 $('div[normal_box=1]').each(function(){...}); 

Я провел несколько экспериментов на 30 div, но я не вижу никакой разницы с (new Date) .getTime (); Может быть, выбор по classу более эффективен при использовании ЦП?

это отличный пост для того, что вы ищете.

ИСПЫТАНИЯ ПО ЭКСПЛУАТАЦИИ ПО ЭКСПЛУАТАЦИИ JACKERY SELECTOR

Я также нашел отличную статью, которая может помочь вам по этой теме:

  • некоторые тесты производительности селекторов jquery

дайте мне знать, действительно ли этот ответ вам помог, спасибо.

update: мне удалось сделать образец, соответствующий вашему опубликованному делу, вот результаты для всего набора из 203 div:

1-, используя имя тега, имеющее имя classа certine $("div.normal_box") ==> 884 мс

2- используя значение атрибута $("div[normal_box=1]") ==> 4553 мс

Обновление 2: я попробовал еще больше, чем ваш вопрос, и сделал это, чтобы проверить несколько селекторов, вот новая ссылка для этого обновленного теста: http://jsfiddle.net/8Knxk/4/

3- с помощью имени тега $("div") ==> 666 мс

4-, используя только имя classа $(".normal_box") ==> 762 мс

Я думаю, теперь для вас это более понятно 🙂

Вот результаты теста, который я только что запустил для себя. Этот div был на DOM с 1562 элементами.

тесты

  function test(iterations) { console.time('query-by-data'); for(var i=iterations;i;i--) { $('[data-banana]'); } console.timeEnd('query-by-data'); console.time('query-by-class'); for(var i=iterations;i;i--) { $('.banana'); } console.timeEnd('query-by-class'); } 

Результаты

  iterations: 1000 query-by-data: 120.000ms query-by-class: 10.000ms iterations: 10000 query-by-data: 1030.000ms query-by-class: 56.000ms iterations: 50000 query-by-data: 5151.000ms query-by-class: 235.000ms 
  • Разница в производительности между Java 8 lambdas и анонимными внутренними classами
  • Тестирование производительности сериализаций, используемых привязками WCF
  • HttpWebRequest очень медленный!
  • В .NET, какой цикл работает быстрее, «for» или «foreach»?
  • Как оптимизировать vlookup для высокого количества поиска? (альтернативы VLOOKUP)
  • Механизм отправки сообщения Objective C
  • Каковы рабочие характеристики sqlite с очень большими файлами базы данных?
  • Производительность C ++ по сравнению с Java / C #
  • Зачем закрывать class?
  • Почему XCHG reg, reg 3 инструкции по микрооперации на современных архитектурах Intel?
  • Android: RunOnUiThread против AsyncTask
  • Давайте будем гением компьютера.