web-dev-qa-db-fra.com

Différence entre le précédent et le précédent élément-javascript

Je me demande si je sais quelle est la différence entre javascript previoussibling et previouselementsibling. J'ai essayé et je n'ai trouvé aucune question ou article qui compare ou décrit cela. C'est peut-être pour ma petite connaissance de javascript, mais j'apprécie si je l'explique.

Merci beaucoup.

7
QMaster

La propriété previousElementSibling renvoie l'élément précédent de l'élément spécifié, au même niveau d'arborescence.

La différence entre cette propriété et previousSibling est que previousSibling renvoie le nœud frère précédent en tant que nœud d'élément, nœud de texte ou nœud de commentaire, tandis que previousElementSibling renvoie le frère précédent nœud en tant que nœud d'élément (ignore les nœuds de texte et de commentaire).

//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