30秒学会 JavaScript 片段 · 2022年10月27日

30秒学会 JavaScript 片段 – Array of element’s siblings

Returns an array containing all the siblings of the given element.

  • Use Node.parentNode and Node.childNodes to get a NodeList of all the elements contained in the element’s parent.
  • Use the spread operator (...) and Array.prototype.filter() to convert to an array and remove the given element from it.

代码实现

const getSiblings = el =>
  [...el.parentNode.childNodes].filter(node => node !== el);

getSiblings(document.querySelector('head')); // ['body']

翻译自:https://www.30secondsofcode.org/js/s/get-siblings