当前位置:首页 > JavaScript

js 实现siblings

2026-02-01 05:21:40JavaScript

实现 siblings 方法

在 JavaScript 中,可以通过遍历 DOM 元素的父节点子元素列表来获取所有兄弟节点(siblings)。以下是几种实现方式:

js 实现siblings

使用纯 JavaScript 实现

function siblings(element) {
  if (!element.parentNode) return [];
  const children = Array.from(element.parentNode.children);
  return children.filter(child => child !== element);
}

// 示例用法
const el = document.querySelector('.target');
const siblingsList = siblings(el);

扩展 Element.prototype

Element.prototype.siblings = function() {
  if (!this.parentNode) return [];
  const children = Array.from(this.parentNode.children);
  return children.filter(child => child !== this);
};

// 示例用法
const el = document.querySelector('.target');
const siblingsList = el.siblings();

包含当前元素的版本

如果需要包含当前元素在内的所有兄弟节点:

js 实现siblings

function siblings(element, includeSelf = false) {
  if (!element.parentNode) return [];
  const children = Array.from(element.parentNode.children);
  return includeSelf ? children : children.filter(child => child !== element);
}

使用 jQuery 风格实现

function $(selector) {
  const el = document.querySelector(selector);
  return {
    siblings: function() {
      if (!el.parentNode) return [];
      const children = Array.from(el.parentNode.children);
      return children.filter(child => child !== el);
    }
  };
}

// 示例用法
const siblingsList = $('.target').siblings();

考虑文本节点的情况

如果需要包含文本节点在内的所有兄弟节点:

function siblings(element, includeTextNodes = false) {
  if (!element.parentNode) return [];
  const children = includeTextNodes 
    ? Array.from(element.parentNode.childNodes)
    : Array.from(element.parentNode.children);
  return children.filter(child => child !== element);
}

这些实现方式都遵循相同的原理:通过访问元素的父节点,获取所有子节点,然后过滤掉当前元素本身。可以根据具体需求选择适合的版本。

标签: jssiblings
分享给朋友:

相关文章

js实现复制功能

js实现复制功能

使用 document.execCommand 方法 这种方法适用于较旧的浏览器,但在现代浏览器中可能被逐步淘汰。通过创建一个临时的 textarea 元素,将文本内容放入其中,然后执行复制命令。…

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Jav…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码 funct…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…