当前位置:首页 > JavaScript

js实现 jquery index

2026-02-02 19:37:36JavaScript

实现 jQuery 的 index() 方法

jQuery 的 index() 方法用于获取当前元素在其同级元素中的位置索引。以下是纯 JavaScript 的实现方式:

js实现 jquery index

方法一:使用 Array.prototype.indexOf

function index(element) {
  if (!element || !element.parentNode) return -1;
  return Array.from(element.parentNode.children).indexOf(element);
}

方法二:遍历同级元素

function index(element) {
  if (!element || !element.parentNode) return -1;
  let children = element.parentNode.children;
  for (let i = 0; i < children.length; i++) {
    if (children[i] === element) return i;
  }
  return -1;
}

方法三:扩展 Element 原型

Element.prototype.index = function() {
  if (!this.parentNode) return -1;
  return Array.from(this.parentNode.children).indexOf(this);
};

使用示例

// 获取某个元素的索引
let element = document.querySelector('.target');
console.log(index(element)); // 使用方法一或二
console.log(element.index()); // 使用方法三

注意事项

  1. 这些实现只考虑元素节点,忽略文本节点等其他节点类型,与 jQuery 的行为一致。
  2. 如果元素没有父节点或不在 DOM 中,返回 -1。
  3. 索引从 0 开始计数,与 jQuery 的 index() 方法行为相同。

这些方法可以替代 jQuery 的 index() 功能,适用于现代浏览器环境。

标签: jsjquery
分享给朋友:

相关文章

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

jquery 面试题

jquery 面试题

jQuery 面试题常见考点 DOM 操作 选择器使用:$("#id"), $(".class"), $("tag") 元素增删改查:append(), remove(), html(),…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

jquery 元素

jquery 元素

jQuery 元素选择与操作 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。以下是 jQuery 中常用的元素选择与操作方法…

jquery中

jquery中

jQuery 基础概念 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。其核心特点是“写得更少,做得更多”(Write L…

jquery标签

jquery标签

jQuery 标签操作 jQuery 提供了多种方法来操作 HTML 标签(元素),包括创建、修改、删除和遍历等。以下是常用的 jQuery 标签操作方法: 选择标签 使用选择器获取 HTML 元素…