Производительность jQuery,.css или addClass

У меня есть большой код jQuery, и я думаю о скорости выполнения моих функций. Когда элемент щелкнут (mousedown), мне нужно назначить изображение в качестве фона. Я могу сделать это двумя способами:

$('#element li.class').css({"background":"someimageURL"});

или

$('#element li.class').addClass("someclass");

где "someclass" имеет фактическое фоновое изображение CSS. Функция Witch работает лучше в этом случае.

Есть ли способ проверить скорость различных функций?

Спасибо

Ответы

Ответ 1

Я почти уверен, что .addClass() будет быстрее из двух. Это предполагает, по существу, привязывание к другому классу элемента, тогда как альтернатива потребует повторения стилей элементов и установки множества явных правил.

Установка пары правил css через $.css(), скорее всего, не о чем беспокоится, но если вы обнаружите, что устанавливаете много, часто, время для создания класса и применения/удаления по мере необходимости.

Я извлек логику обоих методов в одно место для просмотра, если хотите.

http://pastie.org/842738

Ответ 2

Добавить класс абсолютно быстрее, см. этот тест производительности $.addClass() vs $.css() vs $.removeClass().addClass() vs plain js - http://jsperf.com/jquery-css-vs-addclass-speed/2