如何获得元件订单号

2021/01/31 02:21 · jquery ·  · 0评论

如何通过javascript / jquery获取某些元素的订单号?

<ul>
 <li>Anton</li>
 <li class="abc">Victor</li>
 <li class="abc">Simon</li>
 <li>Adam</li>
 <li>Peter</li>
 <li class="abc">Tom</li>
</ul>

有abc类的3xli。现在,我需要获取西蒙·李的订单(序列)号。

提前致谢

使用Jquery的index()方法

您可以使用带有的选择器来做到这一点.index(),如下所示:

$('li:contains(Simon)').index('.abc'); //returns 1, it's 0 based
//Or this...
$('li').filter(':contains(Simon)').index('.abc'); //returns 1

没有选择器,无论类是什么,您都将获得2,其<li>在父级总体中的索引您可以在此处查看快速演示请记住,它是一个基于0的索引,+ 1在某些情况下可能需要显示结果,取决于您的需要。

对于那些喜欢您可能不需要Jquery方法的人,以下是该方法:

function index(el) {
    if (!el) return -1;
    var i = 0;
    do {
        i++;
    } while (el = el.previousElementSibling);
    return i;
}

IE8及以下版本:

function index(el) {
    if (!el) return -1;
    var i = 0;
    do {
        if (el.nodeType === 1) i++;
    } while (el = el.previousSibling)
    return i;
}

只是对@Nick Craver答案的修复。我尝试使用,.index('.class_name')并一直返回-1,但未找到。然后我所做的就是.index( $('.class_name') )给了我预期的结果。我猜想它需要一个dom节点对象作为其值,而不仅仅是选择器。

本文地址:http://jquery.askforanswer.com/ruhehuodeyuanjiandingdanhao.html
文章标签: ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!