Свойство 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>