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 
  • Почему компиляция C ++ занимает так много времени?
  • Как решить медленную Java `SecureRandom`?
  • Производительность MongoDB по агрегационным запросам
  • Xcode 4 - низкая производительность
  • Насколько дорогим является RTTI?
  • Снижение производительности String.intern ()
  • System.IO.FileSystemWatcher для отслеживания папки сетевого сервера - соображения производительности
  • Есть ли причина в производительности для объявления параметров метода final в Java?
  • Как оптимизировать vlookup для высокого количества поиска? (альтернативы VLOOKUP)
  • R: ускорение операций «по группам»
  • arrayfun может быть значительно медленнее, чем явный цикл в matlab. Зачем?
  • Давайте будем гением компьютера.