当前位置:首页 > JavaScript

js实现jqueryindex

2026-04-06 07:16:15JavaScript

js实现jqueryindex

js实现jqueryindex

实现 jQuery 的 index() 方法

在原生 JavaScript 中,可以通过遍历 DOM 元素来模拟 jQuery 的 index() 方法。index() 方法用于获取当前元素在其父元素的子元素集合中的位置索引。

方法一:使用 Array.prototype.indexOf

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

// 示例用法
const el = document.querySelector('.target');
console.log(index(el)); // 输出元素在父元素中的索引

方法二:直接遍历兄弟节点

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

// 示例用法
const el = document.querySelector('.target');
console.log(index(el)); // 输出元素在父元素中的索引

方法三:支持选择器过滤(类似 jQuery 的 index(selector)

function index(element, selector) {
    if (!element || !element.parentNode) {
        return -1;
    }
    const siblings = selector 
        ? Array.from(element.parentNode.querySelectorAll(selector))
        : Array.from(element.parentNode.children);
    return siblings.indexOf(element);
}

// 示例用法
const el = document.querySelector('.target');
console.log(index(el, '.child')); // 输出元素在符合选择器的兄弟元素中的索引

注意事项

  • 如果元素没有父节点或传入的不是 DOM 元素,函数会返回 -1
  • jQuery 的 index() 方法还支持传入选择器或元素作为参数,上述方法三模拟了这种功能。
  • 原生实现与 jQuery 的行为可能略有差异,需根据实际需求调整。

标签: jsjqueryindex
分享给朋友:

相关文章

js 实现vue

js 实现vue

实现 Vue 的核心功能 在 JavaScript 中实现 Vue 的核心功能需要模拟数据绑定、虚拟 DOM 和响应式系统。以下是一个简化版的实现思路: 响应式系统 通过 Object.define…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现百叶窗

js实现百叶窗

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

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…