ホームページ  >  記事  >  ウェブフロントエンド  >  js nextSibling 属性とpreviousSibling 属性の概要と使用上の注意_基礎知識

js nextSibling 属性とpreviousSibling 属性の概要と使用上の注意_基礎知識

WBOY
WBOYオリジナル
2016-05-16 17:41:461427ブラウズ
1: nextSibling 属性
この属性は現在のノードの次のノードを表します (以降のノードは現在のノードと同じレベルに属します)。その後に同じレベルのノードがない場合は null。が返されます。
この属性の実行結果はブラウザによって異なることに注意してください。次の例を参照してください。
まず例を見てみましょう:
コードをコピー コードは次のとおりです:







表面的には、このオブジェクトの構造は、div の nextSibling がアイテムは 2 つだけ - 2 つの入力ノード。しかし実際には、/n,input,/n,input,/n という 5 つの項目があります。これは、input がさまざまなフォーム入力コントロールを作成するためのラベルとして使用されるためです。ボタン、チェックボックス、ラジオなどのフォーム コントロールを生成する場合でも、IE は最後に 1 バイトの空白を自動的に作成します。
IE はノード間で生成されるスペース ドキュメント ノード (改行文字など) をスキップしますが、Mozilla はこれを行いません。FF はスペース ブレークや改行などのレイアウト要素をノードの読み取りとして扱うため、次のノード要素でIE で nextSibling を使用して読み取ることができるものは、FF では次のように記述する必要があります: nextSibling.nextSibling。
opera と safari は、FF と同じ方法で nextSibling を処理します。

2:previousSibling 属性
この属性は、nextSibling 属性とは逆の効果を持ちます。例: someTagObject.nextSibling.previousSibling は実際にはタグ要素自体を返しますが、前提として、タグ要素の後ろに兄弟要素がなければなりません。それ以外の場合は null が返されます。

3: nextSibling またはpreviousSibling を通じて取得される HTML タグ要素オブジェクトの属性の問題
通常、タグ名はまず nextSibling.nodeName または nextSibling.nodeType のラベルを通じて取得されます。 type の場合、nextSibling.nodeName = #text の場合、そのテキスト値は nextSibling.nodeValue を通じて取得され、それ以外の場合、そのプロパティは nextSibling.innerHTML などの他の一般的なラベル要素のプロパティを通じて取得できます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。