セレクタが私に要素のセットを返しました。要素のセットから、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. jQueryページレイアウトでスペースを維持しながら要素を非表示にする
- 6. jQuery - 入力要素にCSSスタイルを適用する
- 7. HTML、CSS、Javascript - 非表示/表示要素
- 8. スタイルINPUT要素のCSS
- 9. jQuery一度に1つの要素を表示しますか?
- 10. JQuery-クラスを持つimg要素ごとにCSSを追加します。
- 11. 2つのスタイルを持つdivを非表示にする
- 12. jQuery要素のスタイルを変更する
- 13. cssを使って要素を表示して非表示にする
- 14. CSSを使用して特定の属性を持つ要素を指すラベルをスタイル設定する
- 15. CSS - 2つの要素を並べて並べて表示
- 16. jQuery要素が表示されない
- 17. 要素のクリックで2つのリストの要素にCSSスタイルを追加
- 18. Jquery div要素非表示
- 19. jqueryで前の要素を表示/非表示にする
- 20. 可変幅要素を持つjqueryスライダー
- 21. 私は休閑のCSSスタイルを持つdiv要素を持っている、それは常にページ
- 22. 複数のクラスを持つjqueryを持つ要素を選択
- 23. Jquery UI - 表示から1つの要素を取り出す:ドラッグ時に非表示要素
- 24. ホバーにランダムな要素を表示する、Jquery
- 25. CSSの問題:同じ要素を持つ複数のCSSは
- 26. jqueryの要素を表示/非表示ファンシーボックス閉じるイベント
- 27. Html WordPress CSS要素が正しく表示されない
- 28. CSSを使って他の要素内の要素をスタイルする方法は?
- 29. jQueryの:どの要素が特定のCSSクラス/スタイル
- 30. CSS Negate:非表示要素の特定の要素を表示していますか?
注意を。 '.css()'メソッドは、スタイルシートから継承されたスタイルを取り上げません。 – Barmar
あなたはこれを何と言いますか? jQueryのドキュメントによると、 '.css()'は**計算された**スタイルのプロパティなので、継承されたスタイルを含みます。ここにこれが本当であることを示すデモがあります - https://jsfiddle.net/6uncqqk2/ –
私は過去に計算されたスタイルを使用していなかった疑問を見たことがあります。たぶん、私はプレーンなJS 'element.style.display'を使用するコードを考えていました。 – Barmar