web-dev-qa-db-ja.com

previoussiblingとpreviouselementsibling-javascriptの違い

Javascript previoussiblingpreviouselementsiblingの違いは何ですか?私が試したところ、これを比較または説明する質問や記事は見つかりませんでした。これは私の小さなJavaScriptの知識のためかもしれませんが、説明していただければありがたいです。

本当にありがとう。

7
QMaster

previousElementSiblingプロパティは、同じツリーレベルで、指定された要素の前の要素を返します。

このプロパティとpreviousSiblingの違いは、previousSiblingは前の兄弟ノードを要素ノード、テキストノード、またはコメントノードとして返すのに対し、previousElementSiblingは前の兄弟ノードを返すことです。要素ノードとしてのノード(テキストノードとコメントノードは無視されます)。

//Get the second li element
var liElement = document.getElementById( "target" ) ;

//Get the previous element (→ Text node (line feed and tab character))
var previousSibling = liElement.previousSibling ;
console.log("previousElementSibling::"+previousSibling.data);
console.log("previousElementSibling.previousElementSibling::",previousSibling.previousElementSibling);

//Get the previous element (→ <li> Element 3 </ li>)
var previousElementSibling = liElement.previousElementSibling ;
console.log("previousElementSibling::",previousElementSibling);
<ul>
        <li>Element-1</li>↓
        <li id="target">Element-2</li>
        <li>Element-3</li>
</ul>
4
NullPointer