javascript - 原生 javascript 中的 jQuery index()

标签 javascript jquery

根据 jQuery api,.get() 的补充操作接受索引并返回 DOM 节点,.index() 可以获取 DOM 节点并返回索引。假设我们页面上有一个简单的无序列表:

<ul>
  <li id="foo">foo</li>
  <li id="bar">bar</li>
  <li id="baz">baz</li>
</ul>

.index() 将返回匹配元素集中第一个元素相对于其兄弟元素的位置:

alert('Index: ' + $('#bar').index();

我们返回列表项从零开始的位置:

Index: 1

我只是想知道,我们如何使用JavaScript做同样的事情?

最佳答案

您可以构建自己的函数:

function indexInParent(node) {
    var children = node.parentNode.childNodes;
    var num = 0;
    for (var i=0; i<children.length; i++) {
         if (children[i]==node) return num;
         if (children[i].nodeType==1) num++;
    }
    return -1;
}

Demonstration (open the console)

关于javascript - 原生 javascript 中的 jQuery index(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13658021/

相关文章:

javascript - 检查页面是否在某个部分

javascript - 使用 underscore.js 在 javascript 中对数字序列进行无间隙分组

javascript - 如果下拉值发生变化,则从数据库中获取值并填充所有文本框

javascript - Angular如何在表单提交上获取按钮元素

jquery基本 slider 不会显示

javascript - Angular 指令 - 将绝对定位的死者宽度设置为根的宽度

javascript - 设置页面上现有的工具提示和稍后加载的工具提示

javascript - 如何在不重叠的情况下用线连接圆圈

Javascript 匹配不包含字符的字符串

javascript - 使用 jquery 上传文件 : POST 500 (Internal Server Error)