Czy jest jakaś różnica między
jQuery('#id').show() and jQuery('#id').css("display","block")
i
jQuery('#id').hide() and jQuery('#id').css("display","none")
javascript
jquery
css
Sashi Kant
źródło
źródło
Różnica między show () a css ({'display': 'block'})
Zakładając, że masz to na początku:
<span id="thisElement" style="display: none;">Foo</span>
kiedy zadzwonisz:
$('#thisElement').show();
dostaniesz:
<span id="thisElement" style="">Foo</span>
podczas:
$('#thisElement').css({'display':'block'});
robi:
<span id="thisElement" style="display: block;">Foo</span>
więc tak, jest różnica.
Różnica między hide () a css ({'display': 'none'})
tak samo jak powyżej, ale zmień je na hide () i wyświetl ':' none '......
Inna różnica Gdy
.hide()
jest wywoływana, wartość właściwości display jest zapisywana w pamięci podręcznej danych jQuery, więc po.show()
wywołaniu przywracana jest początkowa wartość wyświetlana!źródło
Tak istnieje różnica w wydajności obu:
jQuery('#id').show()
jest mniejsza niżjQuery('#id').css("display","block")
jak w poprzednim przypadku dodatkowej pracy jest do zrobienia za zdobycie początkowego stanu z pamięci podręcznej jquery jako wyświetlacz nie jest binarny atrybut może byćinline
,block
,none
,table
, itd podobny tak jest w przypadkuhide()
metody.Zobacz: http://jsperf.com/show-vs-addclass
źródło
bez różnicy
To samo dotyczy programu
źródło
.show()
że ustawi odpowiedniądisplay
właściwość, podczas gdy będziesz musiał wybrać odpowiednią właściwość ręcznie, z.css()
Tak, jest różnica.
jQuery('#id').css("display","block")
zawsze ustawi element, który chcesz pokazać jako blok.jQuery('#id').show()
will et będzie odpowiadał początkowemu typowi wyświetlania, na przykład display: inline.Zobacz dokument Jquery
źródło
Możesz rzucić okiem na kod źródłowy (tutaj jest to wersja 1.7.2).
Z wyjątkiem animacji, które możemy ustawić, to również zachować w pamięci stary styl wyświetlania (co nie jest we wszystkich przypadkach
block
, może to być równieżinline
,table-cell
...).źródło
zobacz http://api.jquery.com/show/
Bez parametrów, metoda .show () jest najprostszym sposobem wyświetlenia elementu:
$ ('. target'). show ();
Dopasowane elementy zostaną ujawnione natychmiast, bez animacji. Jest to mniej więcej równoważne wywołaniu .css ('display', 'block'), z tym wyjątkiem, że właściwość display jest przywracana do stanu, w jakim była początkowo. Jeśli element ma wyświetlaną wartość inline, a następnie jest ukryty i pokazany, zostanie ponownie wyświetlony w tekście.
źródło