Разница между jQuery.скрывать и.css ("display", " none")



есть ли разница между



jQuery('#id').show() and jQuery('#id').css("display","block")


и



jQuery('#id').hide() and jQuery('#id').css("display","none")
1665   7  

7 ответов:

jQuery ('#id').css ("display","block")

The display свойство может иметь множество возможных значений, среди которых:block,inline,inline-block и много.

The .show() метод не обязательно устанавливает его в block, но скорее сбрасывает его до того, что вы его определили (если вообще).

в исходном коде jQuery, вы можете увидеть, как они задание display свойство "" (пустая строка), чтобы проверить, что это был перед любой манипуляцией jQuery:ссылка.

С другой стороны, скрытие осуществляется через display: none;, так что вы можете рассмотреть .hide() и .css("display", "none") эквивалентно какой-то точке.

рекомендуется использовать .show() и .hide() в любом случае, чтобы избежать каких-либо попался (плюс, они короче).

разница между show() и css ({'display': 'block'})

если у вас есть это в самом начале:

<span id="thisElement" style="display: none;">Foo</span>

когда вы называете:

$('#thisElement').show();

вы получите:

<span id="thisElement" style="">Foo</span>

время:

$('#thisElement').css({'display':'block'});

тут:

<span id="thisElement" style="display: block;">Foo</span>

так что, да есть разница.

разница между hide () и css ({'display': 'none'})

то же самое, что и выше, но изменить они в hide () и display':'none'......

еще одно различие Когда .hide() называется значение свойства display сохраняется в кэше данных jQuery, поэтому когда .show() вызывается, начальное значение дисплея восстанавливается!

Да есть разница в производительности: jQuery('#id').show() медленнее, чем jQuery('#id').css("display","block") как и в предыдущем случае, необходимо выполнить дополнительную работу для извлечения начального состояния из кэша jquery, поскольку отображение не является двоичным атрибутом, это может быть inline,block,none,table и т. д. аналогично обстоит дело и с hide() метод.

см.:http://jsperf.com/show-vs-addclass

без разницы

без параметров .метод hide () - это самый простой способ скрыть элемент:

$('.цель').прятаться(); Соответствующие элементы будут скрыты сразу же, без анимации. Это примерно эквивалентно вызову .css ('display', 'none'), за исключением того, что значение свойства display сохраняется в кэш данных jQuery, чтобы впоследствии дисплей можно было восстановить в его начальное значение. Если элемент имеет покажите значение встроенного, тогда скрытый и показанный, он снова будет отображаться в строке.

то же самое о шоу

Да есть разница.

jQuery('#id').css("display","block") всегда будет установить элемент, который вы хотите показать как блок.

jQuery('#id').show() will et - это то, какой тип отображения он изначально был, например display: inline.

посмотреть JQuery Doc

вы можете посмотреть исходный код (здесь это v1.7.2).

за исключением анимации, которую мы можем установить, это также сохранить в памяти старый стиль отображения (который не во всех случаях block, Он также может быть inline,table-cell, ...).

см.http://api.jquery.com/show/

без параметров .метод show () - это самый простой способ отображения элемента:

$('.цель').показать();

соответствующие элементы будут показаны немедленно, без анимации. Это примерно эквивалентно вызову .css ('display',' block'), за исключением того, что свойство display восстанавливается до того, что было изначально. Если элемент имеет значение отображения inline, то он скрыт и показан, он снова будет отображаться в строке.

Comments

    Ничего не найдено.