当前位置:首页 > JavaScript

js实现 jquery index

2026-04-07 13:22:16JavaScript

js实现 jquery index

jQuery index() 方法在 JavaScript 中的实现

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

js实现 jquery index

实现方法一:通过 siblings 和 indexOf

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

实现方法二:通过 previousSibling 计数

function index(element) {
  if (!element) return -1;
  let i = 0;
  while ((element = element.previousElementSibling)) {
    i++;
  }
  return i;
}

使用方法

const div = document.querySelector('.target');
console.log(index(div)); // 输出元素在同级中的索引

兼容 jQuery 的扩展实现

如果需要完全模拟 jQuery 的 index() 方法(支持选择器参数):

function index(element, selector) {
  if (!element) return -1;

  const siblings = selector 
    ? Array.from(element.parentNode.querySelectorAll(selector))
    : Array.from(element.parentNode.children);

  return siblings.indexOf(element);
}

注意事项

  • 原生 JavaScript 没有直接的 index() 方法,需要通过 DOM 操作实现
  • 返回的索引是从 0 开始计数的
  • 如果元素不存在于 DOM 中,会返回 -1
  • 与 jQuery 版本不同,这些实现不会自动处理文本节点

这些实现提供了与 jQuery index() 方法相似的功能,可以根据具体需求选择使用。

标签: jsjquery
分享给朋友:

相关文章

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

jquery数组

jquery数组

jQuery 数组操作 jQuery 提供了多种方法来操作数组或类数组对象(如 jQuery 对象集合)。以下是常见的数组操作方法: 遍历数组 使用 $.each() 方法可以遍历数组或对象: v…

jquery 上传

jquery 上传

jQuery 文件上传方法 使用 jQuery 实现文件上传可以通过多种方式完成,以下是常见的几种方法: 使用原生表单和 AJAX 创建一个包含文件输入的表单,并通过 jQuery 的 AJAX…

jquery遍历

jquery遍历

jQuery遍历方法 jQuery提供了多种遍历DOM元素的方法,可以根据需求选择合适的方式操作元素集合。 each()方法 each()方法用于遍历jQuery对象中的每个元素,并对每个元素执行回…