2012-11-12 139 views
1

我为每个产品列表使用一个称为“结果产品”的div,其中包含标题,图像,说明和信息的div。结果产品将被称为数据库中的每个条目。我希望每三分之一改为“结果 - 产品 - 第三”。为此,我正在使用jquery代码:JQuery第n个孩子divs儿童

$("#products-results :nth-child(3n)").removeClass("result-products"); 
$("#products-results :nth-child(3n)").addClass("result-products-third"); 

"#products-results"是包含使用的div。

问题是,当第n个孩子得到每第3个"result-produts",但它也获得内部的第三个div是"result-products-des"。 我怎么能阻止它进入下一子下来

<div class="result-products"> 
    <div class="result-products-title"> 
    content 
    </div> 
    <div class="result-products-img"> 
    image 
    </div> 
    <div class="result-products-des"> 
    description 
    </div> 
    <div class="result-products-info"> 
    info 
    </div> 
</div> 

回答

6

你可以使用子选择:

$("#products-results > :nth-child(3n)").removeClass("result-products"); 
0
$(function(){ 
      $(document).find('div').siblings().each(function(){ 
       var obj = $(this); 
       obj.find('div').each(function(){ 
        var obj1 = $(this); 
        if(!obj1.children().length > 0){ 
         alert(obj1.html()); 
        } 
       }); 

      }); 
     }); 

<div id="2"> 
    <div> 
     <div> 
      <div>XYZ Pvt. Ltd.</div> 
     </div> 
    </div> 
</div> 
<div id="3"> 
    <div> 
     <div> 
      <div>ABC Pvt Ltd.</div> 
     </div> 
    </div> 
</div> 
+0

“$(函数(){”最先倒下的,我已经创建匿名函数,它会自动触发,在这里面,我找到了三个父级div,然后我遍历所有3个父级div,并检查每个子级的长度,我怎样才能确定是否是父级div中的最后一个div。现在我正在提醒每3个主父div的最后一个div html。 –