ホームページ >ウェブフロントエンド >CSSチュートリアル >jQueryのn番目の子セレクターから非表示の要素を除外する方法は?

jQueryのn番目の子セレクターから非表示の要素を除外する方法は?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-15 07:01:02790ブラウズ

How to Exclude Hidden Elements from nth-child Selectors in jQuery?

n 番目の子セレクターを使用するときに非表示の要素を無視する方法

元のクエリで説明されているシナリオで、非表示の要素が問題を引き起こしているn 番目の子セレクターを使用する場合、問題を解決するには主に 2 つのアプローチがあります。

1. DOM から非表示の要素を除外する

jQuery を使用すると、.remove() メソッドを使用して DOM から非表示の要素を完全に削除できます。これにより、nth-child セレクターによって兄弟とみなされなくなることが保証されます。ただし、後で非表示の要素を復元したい場合、このアプローチは適切ではありません。

2. jQuery の detach() メソッドを使用する

jQuery の .detach() メソッドは、DOM から非表示の要素を切り離しますが、.remove() とは異なり、要素の jQuery データは維持されます。これにより、切り離された要素を後でデータを失うことなく再挿入できるようになります。

更新された jQuery コード:

説明:

  • このコードは .photos-board-item 要素を反復処理し、それぞれが初期インデックスを持つデータ属性です。
  • [非表示] ボタンをクリックすると、要素が切り離されているかどうかがチェックされます。存在する場合、初期インデックスに従ってそれらを DOM に再挿入します。
  • 要素がデタッチされていない場合は、.css--all-photo 要素をデタッチし、それらを divs 変数に割り当てます。

注:

  • n 番目の子の CSS ルールは変わりません。
  • 非表示の要素は n 番目の子の選択プロセスから事実上除外され、望ましい視覚効果が得られます。
  • 切り離された要素は再挿入できます。視覚的なレイアウトに影響を与えることなく、後で変更できます。

以上がjQueryのn番目の子セレクターから非表示の要素を除外する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。