web-dev-qa-db-ja.com

jQuery / CSS-ドキュメント内のすべてのli表示なしを選択するにはどうすればよいですか?

jQuery/CSS-ドキュメント内のすべての<li style="display: none;">を選択するにはどうすればよいですか?

14
Matt

選択した回答はあなたのケースでは機能しますが、それでも質問には回答しません。他の人の回答も同じなので、とにかく書くことにしました。

$('li[style*="display: none"]')

これにより、「display:none」を含むstyleプロパティを持つドキュメント内のすべての<li>要素のリストを表すjQueryオブジェクトが返されます。

これは、ドキュメント内のすべての非表示要素を見つけることとは異なります。

36
Jose Faeti

隠された要素を見つけるためのセレクターがあります:

$('li:hidden')

これにより、スタイルdisplay:noneが適用されているという理由だけでなく、表示されていないすべてのli要素が検出されることに注意してください。要素は、たとえば、高さをゼロに設定するか、親要素を非表示にすることで非表示にできます。

8
Guffa

$('li:hidden')-jqueryドキュメントに従って試してみてください

詳細については- :hidden Selector

4
Pranay Rana

これを試して

$("li").filter(function() { return $(this).css("display") == "none" })
3
Allen Liu

私は言うだろう:

_$("li").not(":visible")
_

または

_$("li:hidden")
_

次に、すべてをインラインで実行するか、.each()を使用してすべてをループします。

3
balexandre

JQuery 1.3.2以降、ブラウザで報告されたoffsetWidthまたはoffsetHeightが0より大きい場合、要素が表示されます。この変更はどういう意味ですか?これは、要素のCSS表示が「なし」であるか、その親/祖先要素の表示のいずれかが「なし」である場合、または要素の幅が0で要素の高さが0の場合、要素は非表示として報告されることを意味します。ここを参照してください: http://blog.jquery.com/2009/02/20/jquery-1-3-2-released/

例:

これは、 li 要素は、親が持っている場合にのみ非表示として認識されます 表示:なし スタイル:

$("li:hidden")
0
Liviu Dragulin