четверг, 22 сентября 2011 г.

jQuery.css(display:'none') vs jQuery.hide()

Меня заинтересовал вопрос: какой метод быстрее скрывает элемент на страничке(и востанавливает)
$(container).css('display', 'none') или $(container).hide()

Нашел замечательный сайт http://jsperf.com/jquery-css-display-none-vs-hide/2, на котором проводится тестирование всех возможных способов спрятать элемент под разными браузерами. Вы можете сами запустить тесты или просмотреть уже готовые результаты.

Быстрее: $(container).css("display", "none");
ну а на низком уровне (без jQuery) будет намного быстрее: document.getElementById("hide-me").style.display = "none";

6 комментариев:

  1. Ну у меня получилось все в точности наоборот. Наверное разные браузеры работают по разному

    ОтветитьУдалить
  2. незнаю.. По тестам в конце статьи видно что именно последний метод рулит

    ОтветитьУдалить
  3. По тестам hide отстаёт везде

    ОтветитьУдалить
  4. Конечно отстает, это же обертка. Блин, зачем такой тест, если это очевидно...

    ОтветитьУдалить
    Ответы
    1. В программировании многое что "очевидно", но не является истиной.
      В наше время лучше пользоваться обертками. Или вы до сих пор сортируете вручную?

      Удалить
    2. Главное - обертка должна быть оправданной.

      Удалить