2011-12-24 4 views
2

私はリスト項目を非表示にし、いくつかのjQueryコードを使用しています...JQuery hideはオブジェクトのスペースを削除しませんか?

$("ul.items").each(function() { 
    $("li:gt(4)", this).hide(); 

私の問題は.hideは、要素を非表示にするようだが、それのためのスペースがまだ割り当てられていることです。

CSSでdisplay:noneのようにこのスペースを削除する方法はありますか?

更新:.hideは実際に要素を取り除いていますが、他の要素は要素が残っている空き領域を占有するために伸びていません。

+1

どのスペース? HTMLコードを表示します。 –

+0

あなたはjsfiddleにあるかもしれないソースコードを貼り付けることができますか? – Virendra

答えて

4

うん、それは起こるべきではありません。 $.fn.hide()display: none;ではなく、visibility: hidden;またはopacity: 0;(これは要素を隠すがスペースは占有されている)を設定します。

"displayプロパティの値がjQueryのデータキャッシュに保存され、後でディスプレイを初期値に戻すことができる点を除いて、これは.css( 'display'、 'none')を呼び出すのとほぼ同じです。​​から。

編集:Firebug(または同様のもの)で要素に実際に何が起きたかチェックしましたか?