在jquery或javascript中对特定类之前的元素进行计数
在类“p16”之前,我必须计算所有名为“loader”的类 在这种情况下,正确的答案是:4在jquery或javascript中对特定类之前的元素进行计数,javascript,jquery,Javascript,Jquery,在类“p16”之前,我必须计算所有名为“loader”的类 在这种情况下,正确的答案是:4 <div class="loader p12"></div> <div class="loader p13"></div> <div class="loader p14"></div> <div class="loader p15"></div> <div class="loader p16"&g
<div class="loader p12"></div>
<div class="loader p13"></div>
<div class="loader p14"></div>
<div class="loader p15"></div>
<div class="loader p16"></div>
<div class="loader p17"></div>
<div class="loader p18"></div>
这是一把小提琴:
多谢各位 您可以使用
console.log($('.p16').prevAll('.loader').length)
您可以遍历文档中具有
加载程序类的所有元素,然后在到达p16
时停止
var total = 0
$('.loader').each(function(){
if($(this).hasClass("p16")){
return false;
}
total++;
});
您使用的index()
不正确
传入元素或jquery对象以索引集合中的特定元素
console.log($('.loader').index($('.p16'))
非常感谢。效果很好。我会接受这个答案,因为你是第一个。注意:这确实假设所有加载程序元素都是同级元素。假设它们不是同级元素,那么你需要使用charlietfl提供的索引方法,但是如果你只想要以前的同级元素,我将使用此主题作为索引方式,可以拾取其他非同级的加载程序,除非您有一个更具体的选择器或可能的副本,我也发现了此其他主题,但此主题具有父类,而我的主题具有相同的元素。这将计算所有加载程序,而不仅仅是当前加载之前的加载程序。
var total = 0
$('.loader').each(function(){
if($(this).hasClass("p16")){
return false;
}
total++;
});