子ノード、親ノード、兄弟ノードを取得するための JS メソッドの概要
この記事では、JSで子ノード、親ノード、兄弟ノードを取得する方法の概要と、JSで兄弟ノードを取得する2つの方法を主に紹介します。JSに詳しい友人はこの記事を参考にしてください
実際の開発では、ページを取得する必要がある 特定の html 要素 で、要素のスタイル、コンテンツ属性などを動的に更新します。親ノードの最初の子ノード
parentObj.lastChild既知の親ノードの子ノード配列を取得します (ここでは IE 7 の直接の子ノードをすべて取得します)parentObj.children 获取既知节点の直接子节量集団(IE7 中和子ノード效果一样)parentObj.getElementsByTagName
(tagName) 返還已知子节点中类型は指定值的子节量集団です通过临节点兄弟ノードを取得します: neighbourNode.previousSibing 子ノードを介して親ノードを取得します:
1. childNode.parentNode 既知のノードの親ノードを取得します上記のメソッドは基本的に再帰的に使用できます、parentObj.firstChild.firstChild.firstChild... しかし、このようなコード愚かなラッシュを持っています。 。 拡張する前に、ノードに関する基本的な知識を知っておく必要があります: Dom ノードでは、ノードごとに異なるタイプがあります W3C 仕様で一般的に使用される Dom ノードのタイプは次のとおりですノードタイプ | 説明 | 値 |
要素ノード | すべてのHTMLタグこれらはすべて、要素ノード | 1 |
属性ノード | 要素ノード(HTMLタグ)の属性です(ID、クラス、名前など) | 2 |
テキストノード | 要素ノードまたは属性ノード テキストコンテンツ | 3 |
コメントノード | は、の形式のドキュメントのコメントです | 8 |
ドキュメントノード | は、ドキュメント全体 (Dom ツリーのルート ノード、つまりドキュメント) | 9 |
ノードの名前については、ノードの種類ごとに異なる名前が対応します
ノードタイプ | ノード名 |
要素ノードの名前 | HTML(大文字) |
属性ノード | 属性の名前 |
テキスト ノード | その値は常に #text |
ドキュメント ノード | その値は常に #document |
それぞれ、nodeType (ノード タイプ)、nodeName (ノード名)、nodeValue (ノード値) を介して、ノード タイプ、ノード名、ノード値を返すことができます (たとえば、要素ノードは 1、属性ノードは 1 を返します) return 2)
JS 兄弟ノードを取得する2つの方法
方法1: まず親要素の子要素を通して自分を含む「兄弟要素」を見つけ、それ自体を削除する
function sibling(elem){ var a = []; var b = elem.parentNode.children; for (var i = 0 ; i < b.length ; i++){ if(b[i] !== elem) a.push(b[i]); } return a; }
方法2: 実装jQueryのメソッドは、最初に要素の最初の子要素を検索し、次に隣接する次の要素を探し続け、それ自体を判断して削除します。
siblings:function(elem) { return JQuery.sibling(elem.parentNode.firstNode,elem); } JQuery.sibling = function(n,elem){ var r = []; for (;n;n= n.nextSibling){ if(n.nodeType == 1 && (!elem || elem != elem)) r.push(n); } return r; }
このコードは jQuery 1.2 以降のバージョンにあります。私が調べた jQuery 1.2.3 のバージョンでは、このコードは 1800 行目にあります。
このメソッドを独立して使用できる関数に変換します。
fucntion sibling(elem){ var r = []; var n = elem.parentNode.firstChild; for(;n;n = n.nextSibling) { if(n.nodeType === 1 && n !== elem) { r.push(n); } } return r; }
明らかに、このメソッドを使用して特定のノードの兄弟要素を検索すると、再帰の冗長性を簡単に回避できます。
すべての要素の子ノードを取得する
JavaScript では、子を介してすべての子ノードを取得できます (HTML のみを返し、子ノードは返されません)。これは、ほとんどすべてのブラウザーでサポートされていますが、Firefox の一部のバージョンでは、サポートされていません。
注: IE では、子にアノテーション ノードが含まれます
特別な状況の存在により、要素ノードのみを取得する必要がある場合があります。そのため、上記の知識を使用して、nodeType 属性でフィルターできるようになります: nodeType == 1ノードは要素ノードです。
以下では、すべての要素の子ノードを取得する関数 を から定義します:
var getChildNodes = function(elem) { var childArr = elem.children || elem.childNodes, childArrTem = new Array(); for (var i = 0 ; i < childArr.length; i ++ ) { if (childArr[i].nodeType == 1){ childArrTem.push(childArr[i]); } } return childArrTem; }
すべての親ノードを取得する
同様に、現在のノードのすべての親ノードを取得できます:
function getParents (elem){ var parents = []; while(elem.parentNode){ parents.push(elem.parentNode) elem = elem.parentNode; } return parents; }
このようにDOM ノードを受け入れて、最終的にドキュメント オブジェクトを取得することができます。本体となる最上位レイヤーのみを取得する必要がある場合は、その間の判断を次のように変更できます。 while(elem.parentNode && elem.parentNode.tagName == 'BODY'
で提供されるメソッドと関連知識に基づいて。ノードを取得するための JavaScript は、たくさんのカプセル化メソッドを作成できます。試してみてください。
操作ノードのカプセル化を書いた後は、jQuery で Dom 操作node メソッドのソース コードを確認するのがはるかに簡単になります。
関連する推奨事項:
自動音楽切り替えとカルーセルのJavaScript実装のサンプルチュートリアル
以上が子ノード、親ノード、兄弟ノードを取得するための JS メソッドの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









トマト ノベルは非常に人気のある小説閲覧ソフトウェアです。トマト ノベルでは、新しい小説や漫画を読むことができます。どの小説も漫画もとても面白いです。小説を書きたい友達もたくさんいます。お小遣いを稼いで、小説の内容を編集することもできます。 「テキストに文章を書きたいです。それで、小説はどうやって書くのですか?友達は知らないので、一緒にこのサイトに行きましょう。小説の書き方の入門を少し見てみましょう。」 Tomato Novels を使用して小説を書く方法に関するチュートリアルを共有します。 1. まず、携帯電話で Tomato Free Novels アプリを開き、パーソナル センター - ライター センターをクリックします。 2. Tomato Writer Assistant ページに移動し、次の場所で [新しい本の作成] をクリックします。小説の終わり

WeChat は主流のチャット ツールの 1 つであり、WeChat を通じて新しい友人に出会ったり、古い友人に連絡したり、友人間の友情を維持したりすることができます。永遠に終わらない宴会など存在しないように、人間同士が仲良くなれば必ず意見の相違が生じます。ある人があなたの気分に極度に影響を与える場合、または仲良くなったときに意見が一致しないことがわかり、コミュニケーションが取れなくなった場合、WeChat の友人を削除する必要がある場合があります。 WeChatの友達を削除するにはどうすればよいですか? WeChat友達を削除する最初のステップ:WeChatメインインターフェースで[アドレス帳]をタップします; 2番目のステップ:削除したい友達をクリックして[詳細]を入力します; 3番目のステップ:上部の[...]をクリックします右隅; ステップ 4: 下の [削除] をクリックします; ステップ 5: ページのプロンプトを理解した後、[連絡先を削除] をクリックします;

Colorful マザーボードは中国国内市場で高い人気と市場シェアを誇っていますが、Colorful マザーボードのユーザーの中には、設定のために BIOS を入力する方法がまだ分からない人もいます。この状況に対応して、編集者はカラフルなマザーボード BIOS に入る 2 つの方法を特別に提供しました。ぜひ試してみてください。方法 1: U ディスク起動ショートカット キーを使用して、U ディスク インストール システムに直接入ります。ワンクリックで U ディスクを起動する Colorful マザーボードのショートカット キーは ESC または F11 です。まず、Black Shark インストール マスターを使用して、Black Shark インストール マスターを作成します。 Shark U ディスク起動ディスクを選択し、コンピュータの電源を入れます。起動画面が表示されたら、キーボードの ESC キーまたは F11 キーを押し続けて、起動項目を順次選択するウィンドウに入ります。「USB」の場所にカーソルを移動します。 」と表示され、その後

残念ながら、WeChat は広く使用されているソーシャル ソフトウェアであり、何らかの理由で特定の連絡先を誤って削除してしまうことがよくあります。ユーザーがこの問題を解決できるように、この記事では、削除された連絡先を簡単な方法で取得する方法を紹介します。 1. WeChat の連絡先削除メカニズムを理解します。これにより、削除された連絡先を取得できるようになります。WeChat の連絡先削除メカニズムでは、連絡先がアドレス帳から削除されますが、完全には削除されません。 2. WeChat の組み込みの「連絡先帳復元」機能を使用します。WeChat には、この機能を通じて以前に削除した連絡先をすばやく復元できる「連絡先帳復元」機能が用意されています。 3. WeChat 設定ページに入り、右下隅をクリックし、WeChat アプリケーション「Me」を開き、右上隅にある設定アイコンをクリックして設定ページに入ります。

携帯電話が人々の日常生活において重要なツールになるにつれて、フォント サイズの設定は重要なパーソナライゼーション要件になりました。さまざまなユーザーのニーズを満たすために、この記事では、簡単な操作で携帯電話の使用体験を向上させ、携帯電話のフォントサイズを調整する方法を紹介します。携帯電話のフォント サイズを調整する必要があるのはなぜですか - フォント サイズを調整すると、テキストがより鮮明で読みやすくなります - さまざまな年齢のユーザーの読書ニーズに適しています - フォント サイズを使用すると、視力の悪いユーザーにとって便利です携帯電話システムの設定機能 - システム設定インターフェイスに入る方法 - 設定インターフェイスで「表示」オプションを見つけて入力します。 - 「フォント サイズ」オプションを見つけて、サードパーティでフォント サイズを調整します。アプリケーション - フォント サイズの調整をサポートするアプリケーションをダウンロードしてインストールします - アプリケーションを開いて、関連する設定インターフェイスに入ります - 個人に応じて

Win11 管理者権限の取得方法のまとめ. Windows 11 オペレーティング システムでは、管理者権限は、ユーザーがシステム上でさまざまな操作を実行できるようにする非常に重要な権限の 1 つです。ソフトウェアのインストールやシステム設定の変更など、一部の操作を完了するために管理者権限の取得が必要になる場合があります。以下にWin11の管理者権限を取得する方法をまとめましたので、お役に立てれば幸いです。 1. ショートカット キーを使用する Windows 11 システムでは、ショートカット キーを使用してコマンド プロンプトをすばやく開くことができます。

テクノロジーの発展に伴い、モバイルゲームは人々の生活に欠かせないものになりました。かわいいドラゴンエッグの画像と面白い孵化過程で多くのプレイヤーの注目を集めており、その中でも注目を集めているゲームの一つがモバイル版ドラゴンエッグです。プレイヤーがゲーム内で自分のドラゴンをより適切に育成し成長させることができるように、この記事ではモバイル版でドラゴンの卵を孵化させる方法を紹介します。 1. 適切な種類のドラゴン エッグを選択する プレイヤーは、ゲーム内で提供されるさまざまな種類のドラゴン エッグの属性と能力に基づいて、自分に適したドラゴン エッグの種類を慎重に選択する必要があります。 2. 孵化機のレベルをアップグレードします。プレイヤーはタスクを完了し、小道具を収集することで孵化機のレベルを向上させる必要があります。孵化機のレベルは孵化速度と孵化成功率を決定します。 3. プレイヤーはゲームに参加する必要がある孵化に必要なリソースを収集します。

Oracleバージョンのクエリ方法を詳しく解説 Oracleは、世界で最も人気のあるリレーショナルデータベース管理システムの1つで、豊富な機能と強力なパフォーマンスを提供し、企業で広く使用されています。データベースの管理と開発のプロセスでは、Oracle データベースのバージョンを理解することが非常に重要です。この記事では、Oracle データベースのバージョン情報をクエリする方法と具体的なコード例を詳しく紹介します。単純な SQL ステートメントを実行して、Oracle データベース内の SQL ステートメントのデータベース バージョンをクエリします。
