我有这段HTML
<div id="fileTreeInviati">
<ul class="php-file-tree">
<li class="pft-directory">
<a href="#" class="" name="101">A006 - SOMETEXT (<span name="contaNew"></span>)</a>
<img src="./moduli/home/images/info.png" title="Informazioni Azienda" class="imgInfo"/>
<ul style="display: none;">
<li class="pft-file ext-png">
<a href="javascript:getInfoFile('4');" class="" id="4">cut.png</a>
</li>
<li class="pft-file ext-dll">
<a href="javascript:getInfoFile('27');" class="new" id="27">Safari.dll</a>
</li>
</ul>
</li>
<li class="pft-directory">
<a href="#" class="" name="102">A012 - SOMETEXT (<span name="contaNew"></span>)</a>
<img src="./moduli/home/images/info.png" title="Informazioni Azienda" class="imgInfo"/>
<ul style="display: none;">
<li class="pft-file ext-jpg">
<a href="javascript:getInfoFile('19');" class="new" id="19">04.jpg</a>
</li>
<li class="pft-file ext-dll">
<a href="javascript:getInfoFile('24');" class="new" id="24">Safari.dll</a>
</li>
</ul>
</li>
<li class="pft-directory">
<a href="#" class="" name="103">A014 - SOMETEXT (<span name="contaNew"></span>)</a>
<img src="./moduli/home/images/info.png" title="Informazioni Azienda" class="imgInfo"/>
<ul style="display: none;">
<li class="pft-file ext-txt">
<a href="javascript:getInfoFile('17');" class="new" id="17">acu.txt</a>
</li>
<li class="pft-file ext-dll">
<a href="javascript:getInfoFile('22');" class="new" id="22">Safari.dll</a>
</li>
</ul>
</li>
</ul>
我正在研究一个循环遍历“li”的所有“a”的js片段,并检查它是否具有“new”类,如果是,则将计数器递增1。此计数器现在必须打印在相对“li”“span”3级之前。 所以我有“new”类的元素的数量。 js片段就是这个
$("#fileTreeInviati .php-file-tree .pft-directory li").each(function(){
$(this).children("a").each(function(i,e){
if ($(e).hasClass("new")){
cont++;
console.log($(e).text());
$(this).parent().parent().parent().children("a").children("span").text(cont);
}
})
cont = 0;
});
我想我几乎就在那里,但柜台总是1.我觉得有些东西搞乱了。孩子们,也许它只能处理第一次? 谢谢你的帮助
答案 0 :(得分:2)
为什么不直接使用.length
?
$('#fileTreeInviati .php-file-tree .pft-directory li a.new').length;
更新:如果您想分别计算每个li
元素,请使用以下命令:
$('#fileTreeInviati .php-file-tree .pft-directory li').each(function() {
alert($('a.new', this).length);
})
答案 1 :(得分:1)
好的,我弄清楚如何做魔术:) 这是:
cont = 0;
$('#fileTreeInviati .php-file-tree .pft-directory').each(function() {
$(this).children("ul").children("li").children("a.new").each(function(i,e){
cont++;
$(e).parent().parent().parent().children("a").children("span").text(cont);
});
cont=0;
});
现在一切都很完美。如果你认为这可以做得更好,那就知道了。 再见