Javascript jQuery:计算将该值存储到变量中并将其作为文本传递到范围中的列表项的数量
我正在使用一个手风琴-我在手风琴中有一个列表,其中有一类区域列表,我想计算这个列表中有多少个列表项,将这个数字存储到一个变量中。我有一个跨度,我想用面积列表的计数来更新。我必须在多个手风琴上这样做。提前谢谢Javascript jQuery:计算将该值存储到变量中并将其作为文本传递到范围中的列表项的数量,javascript,jquery,html,Javascript,Jquery,Html,我正在使用一个手风琴-我在手风琴中有一个列表,其中有一类区域列表,我想计算这个列表中有多少个列表项,将这个数字存储到一个变量中。我有一个跨度,我想用面积列表的计数来更新。我必须在多个手风琴上这样做。提前谢谢 <ul class="accordion" data-accordion data-allow-all-closed="true"> <li class="accordion-item" data-accordion-item> &l
<ul class="accordion" data-accordion data-allow-all-closed="true">
<li class="accordion-item" data-accordion-item>
<a href="#" class="accordion-title">Accounting (<span class="counter">1000</span>)</a>
<div class="accordion-content" data-tab-content>
<ul class="no-bullet area-list">
<li><a class="naming" href="#">Benny Goodman</a></li>
<li><a class="naming" href="#">Benny Goodman</a></li>
<li><a class="naming" href="#">Benny Goodman</a></li>
</ul>
</div>
</li>
</ul>
<ul class="accordion" data-accordion data-allow-all-closed="true">
<li class="accordion-item" data-accordion-item>
<a href="#" class="accordion-title">Accounting 2 (<span
class="counter">1000</span>)</a>
<div class="accordion-content" data-tab-content>
<ul class="no-bullet area-list">
<li><a class="naming" href="#">Benny Goodman</a></li>
<li><a class="naming" href="#">Benny Goodman</a></li>
<li><a class="naming" href="#">Benny Goodman</a></li>
<li><a class="naming" href="#">Benny Goodman</a></li>
<li><a class="naming" href="#">Benny Goodman</a></li>
<li><a class="naming" href="#">Benny Goodman</a></li>
</ul>
</div>
</li>
</ul>
<script>
function getCounter(){
var count = $("#myList li").length;
$("span.counter").text(count);
}
getCounter();
</script>
使用jQuery的子级
这应该总结每个手风琴的元素 $function{ $.accordion.eachfunction{ var count=$this.find.area-list.childrenli.length; $this.find.counter.textcount; }; };
您忘记包含span元素了吗?这里有一个带有计数器类的span。我刚刚将您的所有代码连同添加到JSFIDLE中,它似乎工作得很好?抱歉,这是这个问题的旧版本。我需要在多个手风琴上做这个。那么你想为每个手风琴计数还是把它们合并成一个?啊,看来我们得到了相同的答案。干杯
function getCounter(){
var count = $("#myList").children('li').length;
$("span.counter").text(count);
}
I figured it out, I needed to write this to be more vague so I could use it on multiple instances of the accordion. Thanks Everyone!
function getCounter(){
var count = $(this).find(".area-list").children('li').length;
$(this).find("span.counter").text(count);
}
$(".accordion").each(getCounter);