セレクタが私に要素のセットを返しました。要素のセットから、CSS属性display:noneを持つ要素が1つまたは2つあります。私はこれらの要素を削除し、表示を持つ要素を取得する必要があります。これはJQueryを使ってどのように行うことができますか?CSSスタイル表示を持つJQuery要素をフィルタアウトする:なし
答えて
を使用することができます。
var displayed = $('mySelector').filter(function() {
var element = $(this);
if(element.css('display') == 'none') {
element.remove();
return false;
}
return true;
});
これはあなたの選択のthatsからのすべての要素がdisplay
属性が返されますがnone
ではない、としているのです人々を削除します。
あなたが.filter()
を使用することができますfilter()
var listWithoutDisplayNone = elementList.filter(function(){
if($(this).css('display') != 'none')
return $(this);
});
$("selector").is(":visible")
また、元のセレクタの隠し要素フィルタリングすることができます彼らの `style`属性にNONE`:これが唯一の明示的な`ディスプレイを持っている要素を見つけること
$("selector:visible")
私は現在、 'display:none'と' display:block'を切り替える要素にこれを使用しています。この目的のためにそれを使用する際に問題や矛盾がありますか? – Abdul
@Abdulそれはうまくいくはずです。 jQueryは 'display'プロパティと' visibility'プロパティの両方をチェックして、要素が可視かどうかをチェックします。 – Barmar
これはしばしば目標を達成しますが、重要な違いが1つあります(@Barmarで述べたように、可視性もチェックします)。親要素の可視性もチェックします。だから本当に 'display:none'で要素だけをフィルタリングしたいのであれば、':visible'は偽陽性を与えます。 – ScottSB
- 1. 特定のコンテンツを持つ要素を表示する(jquery)
- 2. jQueryのスタイルattrの持つ要素を見つけると
- 3. CSSスタイル要素が要素
- 4. jQuery特定のCSSを持つ要素を選択する
- 5. idを持つ要素を選択するCSSスタイルはありますか?
- 6. jQuery - 入力要素にCSSスタイルを適用する
- 7. jQueryページレイアウトでスペースを維持しながら要素を非表示にする
- 8. アクティブになる要素のCSSセレクタを見つける/他の要素をドラッグして表示する
- 9. HTML、CSS、Javascript - 非表示/表示要素
- 10. CSSアニメーションを使用して要素を1つずつ表示する方法
- 11. jQueryスムーススクロールで要素を表示する
- 12. jQueryで表示後に要素を正しく表示する方法:なし
- 13. スタイルINPUT要素のCSS
- 14. jQuery一度に1つの要素を表示しますか?
- 15. jQuery要素のスタイルを変更する
- 16. 要素を表示して要素を表示する
- 17. CSSスタイル一つの要素が、1つのプロパティを変更
- 18. jqueryのオーバーライド重要なCSSスタイル
- 19. JQuery-クラスを持つimg要素ごとにCSSを追加します。
- 20. 子要素をホバーしている間、親要素のCSSスタイルを維持する
- 21. jQueryさまざまな要素のトラブルシューティングを表示/非表示
- 22. 2つのスタイルを持つdivを非表示にする
- 23. 3つのカウンタを持つリストの要素を表示
- 24. jQuery要素が表示されない
- 25. Jquery div要素非表示
- 26. CSSフィルターをぼかして、要素を非表示にする
- 27. CSSを使用して特定の属性を持つ要素を指すラベルをスタイル設定する
- 28. CSSで要素を表示していない
- 29. スタイル表示の要素を削除する方法:なしHTMLソースコードから
- 30. cssを使って要素を表示して非表示にする
注意を。 '.css()'メソッドは、スタイルシートから継承されたスタイルを取り上げません。 – Barmar
あなたはこれを何と言いますか? jQueryのドキュメントによると、 '.css()'は**計算された**スタイルのプロパティなので、継承されたスタイルを含みます。ここにこれが本当であることを示すデモがあります - https://jsfiddle.net/6uncqqk2/ –
私は過去に計算されたスタイルを使用していなかった疑問を見たことがあります。たぶん、私はプレーンなJS 'element.style.display'を使用するコードを考えていました。 – Barmar