Jquery 先计算元素数,再计算元素数

Jquery 先计算元素数,再计算元素数,jquery,Jquery,以下是一个例子: <div class="create-q"></div> <div class="create-q"></div> <div class="create-q"></div> <div class="create-q"></div> <-- im in this class : I want to know how many div with class "create-q" t

以下是一个例子:

<div class="create-q"></div>
<div class="create-q"></div>
<div class="create-q"></div>
<div class="create-q"></div> <-- im in this class : I want to know how many div with class "create-q" there is before this one. (3 in this example)
<div class="create-q"></div>
<div class="create-q"></div>


如果
mydiv
是对您正在查看的元素的引用:

var n = $(mydiv).index('.create-q');
将给出该div的索引,因为它们是零基的,所以恰好也是前面div的数量

.prevAll()
不同,无论div是否具有公共父级,这都将起作用。

您可以使用jquery的方法

如果
currentelem
是对元素的引用,那么

$(currentelem).prevAll().length 

将为您提供同一父元素或容器中元素之前的元素数。

如果您有目标元素,只需执行以下操作:


$(this).prev(“.create-q”).length
$(this).next(.create-q”).length

您可以通过jQuery在选定的元素中使用循环


顺便说一下,您不在该类中,而是在该元素中。您还没有展示如何
到达那里
。从上面的示例中,您如何确定要在前后对哪个div进行元素计数?它们都是一样的。如何选择目标div?可以通过放置“break;”来停止循环中的语句。是的,对不起,我在一个元素而不是一个类中…我的div实际上是一个问题列表。当我插入一个新问题时,它会创建一个新的div,我需要在新问题之前计算div的数量,以了解新问题的数量(是否在第一、第二、第三等位置?)。
<div id="example">
<div  class="create-q">1</div>
<div  class="create-q">2</div>
<div  class="create-q">3</div>
<div  class="create-q">thisOne</div>
<div class="create-q">5</div>
<div  class="create-q">6</div>
</div>
function example(thisOne) {
    var count=0;
    var hrefs = '';  
    $('#example div').each(function(idx, item) {  
        //alert(item); return object HTMLDivElement
        hrefs += item.innerHTML+ '\n' ;  
        count+=1;
        if(item.innerHTML==thisOne)
        {
//this is what you want the nubmber of elements before thisOne
            alert(count-1);
            return 0;
        }
    });
    window.alert(hrefs);

}