[解決済み】Javascriptで、ある要素が別の要素に含まれているかどうかを確認する方法
2022-04-07 18:05:51
質問
ある DOM 要素が他の DOM 要素の子であるかどうかを確認するにはどうしたらよいですか?このための組み込みのメソッドはありますか?例えば、次のようなものです。
if (element1.hasDescendant(element2))
または
if (element2.hasParent(element1))
もしそうでなければ、どうしたらいいでしょうか?また、クロスブラウザである必要があります。また、子は親の何レベルも下にネストされる可能性があることを述べておかなければなりません。
どのように解決するのですか?
更新してください。
これを実現するためのネイティブな方法が登場しました。
Node.contains()
. コメントと以下の回答にも記載されています。
古い回答です。
を使用することで
parentNode
プロパティは動作するはずです。また、クロスブラウザの観点からもかなり安全です。もし、関係が一段深いことが分かっているのであれば、簡単にチェックすることができます。
if (element2.parentNode == element1) { ... }
もし、子が親の中に任意に深くネストできるのであれば、次のような関数を使って関係をテストすることができます。
function isDescendant(parent, child) {
var node = child.parentNode;
while (node != null) {
if (node == parent) {
return true;
}
node = node.parentNode;
}
return false;
}
関連
-
[解決済み】TypeError: $(...).DataTable は関数ではありません。
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Heroku:ノードアプリで「このアプリにはデフォルトの言語が検出されませんでした」エラーがスローされる
-
[解決済み】document.getElementByIDは関数ではありません。
-
[解決済み】BootstrapのCollapseが折りたたまれない
-
[解決済み】ある要素を別の要素に移動させるには?
-
[解決済み】SyntaxError: 'import' と 'export' は 'sourceType: module' とだけ表示されるかもしれない - Gulp
-
[解決済み】XMLパースエラー:ルート要素が見つからない コンソールの場所 FF
-
[解決済み】PhantomJS 2.1.1を使用してReactJSアプリケーションをレンダリングできない理由とは?
-
[解決済み】SyntaxError: 期待された式が、'<'を得た。
-
[解決済み】JavaScriptで関数が存在するかどうかを確認する方法は?
-
[解決済み】Vueが定義されていない