如何获得li的索引

我用var a=document.getElementsByTagName("li")得到了一个a数组如何用变量去保存a[i]里面的这个i?说白了就是我只想知道是第几个li!

阅读 4.6k
5 个回答

我们常常会比较习惯于在元素的属性中以data-xxxx保存一些简单的数据,因此保存索引也可以这么干

var a=document.getElementsByTagName("li");
for(var i in a) {
    a[i].setAttribute('data-index', i);
}

保存之后,我们想要知道当前li对应的索引就很容易了,在属性中读取即可。

使用index()获取对应索引。我一般都用jQuery。不知这样行不行,你试试看

var a=index(document.getElementsByTagName("li"));

希望对你有帮助

可以设置在dom对象中

a[i].i = i

也可以在html里添加data属性

//jsp
<li data-i="${i}">

推荐楼主用jQuery。设置好对应的var _index = $(this).index('li');就可以获取下标索引

可以通过递归来计算该元素前面的元素个数就行啦。

大概代码这样。

HTMLElement.prototype.index = function () {
    return index(this, 0);
    function index(e, i) {
        if (e.previousElementSibling === null) {
            return i;
        } else {
            return index(e.previousElementSibling, i + 1);
        }
    }
}

用的时候就跟jQuery差不多

element.index();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题