当前位置:首页 > JavaScript

js 实现sublings

2026-02-02 10:02:35JavaScript

实现 siblings 的方法

在 JavaScript 中,siblings 是指当前元素的所有兄弟元素(即共享同一个父元素的元素)。以下是几种实现方式:

使用纯 JavaScript 实现

通过 parentNodechildren 属性遍历兄弟元素:

js 实现sublings

function getSiblings(element) {
  const siblings = [];
  let sibling = element.parentNode.firstChild;

  while (sibling) {
    if (sibling.nodeType === 1 && sibling !== element) {
      siblings.push(sibling);
    }
    sibling = sibling.nextSibling;
  }

  return siblings;
}

使用 ES6 和 Array.filter

利用 Array.fromfilter 方法简化代码:

js 实现sublings

function getSiblings(element) {
  return Array.from(element.parentNode.children)
    .filter(child => child !== element);
}

使用 jQuery 实现

如果项目中已引入 jQuery,可以直接使用 siblings() 方法:

const siblings = $(element).siblings();

扩展原生 Element 原型

为所有 DOM 元素添加 siblings 方法:

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

// 使用方式
const siblings = element.siblings();

注意事项

  • 纯 JavaScript 方法需要考虑节点类型(nodeType === 1 表示元素节点)。
  • jQuery 方法简洁但需要引入库。
  • 扩展原型可能影响全局环境,需谨慎使用。

标签: jssublings
分享给朋友:

相关文章

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML结…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的J…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let currentY…