2016-04-06 9 views
0

要素の祖先の1つがdisplay:noneであるかどうかを知る方法はありますか?DOMツリーをトラバースしないでください。私の祖先が表示されていますか?

+3

祖先の中に 'display:none'がある場合、そのコンテンツはすべて非表示になりますか? – Vucko

答えて

1

JavaScriptコードの中からどうやってやるのだろうと思いますか?もしそうなら、jQueryのis( ':visible')関数を使うことができます。そうでない場合、私はこれを探している将来のユーザーのために投稿しています。

$("#selector").is(":visible") // returns true or false 

以下の条件を確認します。

  • スタイルdisplay:none
  • フォーム0PXにtype="hidden"
  • widthheightセットとinput要素です。
  • ので、任意の親はdisplay:none
1

Vanilla JS™を使用して、親要素にdisplay: noneをチェックするための既製の方法は、スタイルが存在していないされている場合:あなたはArrayへのアクセス権を持っていない

  1. 要素のすべての親要素を含む(:has()でない場合は、querySelectorAll()と一緒に使用します)。

  2. displaygetComputedStyle()無行く(とでもこれは働いていた、中断継承を検出することができません)になりこれ、non-inherited propertyです。

トラバースする必要があります。

関連する問題