De la page jQuery sur .hide() :
" Les éléments correspondants seront masqués immédiatement, sans animation. C'est à peu près équivalent à l'appel de .css('display', 'none'), sauf que la valeur de la propriété display est enregistrée dans le cache de données de jQuery, de sorte que display puisse être rétabli ultérieurement à sa valeur initiale. Si un élément a une valeur d'affichage de inline, puis est caché et affiché, il sera à nouveau affiché inline."
Donc, s'il est important que vous soyez en mesure de revenir à la valeur précédente de display
vous feriez mieux d'utiliser hide()
car de cette façon, l'état précédent est mémorisé. En dehors de cela, il n'y a pas de différence.
$(function() {
$('.hide').click(function(){
$('.toggle').hide();
setDisplayValue();
});
$('.show').click(function(){
$('.toggle').show();
setDisplayValue();
});
});
function setDisplayValue() {
var display = $('.toggle')[0].style.display;
$('.displayvalue').text(display);
}
div {
display: table-cell;
border: 1px solid;
padding: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
<button class="hide">Hide</button>
<button class="show">Show</button>
</p>
<div class="toggle">Lorem Ipsum</div>
<p>
The display value of the div is:
<span class="displayvalue"></span>
</p>