jquery-selectors - 用于计数 <li> 的 jquery 父/子选择器

标签 jquery-selectors

我有这段 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>

我正在研究一个 js 片段,它循环遍历“li”的所有“a”,并检查它是否具有“new”类,如果是,则将计数器加一。这个计数器现在必须打印在相对的“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。我认为 .children 有问题,也许它只能处理第一次出现?
感谢帮助

最佳答案

为什么不直接使用 .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);
})

关于jquery-selectors - 用于计数 <li> 的 jquery 父/子选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2765298/

相关文章:

jquery - jquery 正则表达式选择器如何工作?

jQuery 获取与类最接近的 div

jQuery 两个子选择器

javascript - 选择器 - 如何选择 div 中的第一个输入?

javascript - jQuery - 在表中的 <tr> 元素上单击事件并获取 <td> 元素值

jquery - 如何使用 jQuery 取消选中禁用的单选按钮?

jQuery - 将多个 .(val) 拉入一个字符串的最简单方法

javascript - 如何在此 HTML 中选择下一个 "select"(下拉列表)?

javascript - 存在 jQuery 字符串比较问题

jQuery :not() selector combined with Attribute Contains selector