2012-12-13 110 views
0

变化加粗如何获得组中的每个第n个元素(从#n开始)? - 更新


我需要在一组的div运行一些jQuery的。我有以下的HTML代码更新

<div class="tile_set" id="tile-set" style="width: 984px;"> 
    <div id="tile_id_437" class="product_tile"> 
     <div class="tile tile_front" style="display: block;"> 
      <h1>Buffalo Burnin' Hot</h1> 
     </div> 
     <div class="tile tile_back" style="display: none;">       
      <h1 class="title">Buffalo Burnin' Hot</h1> 
      <p class="description">Extreme heat for the daring Buffalo eater.</p> 
     </div> 
    </div> 
    <div id="tile_id_438" class="product_tile"> 
     <div class="tile tile_front" style="display: block;"> 
      <h1>Buffalo Medium</h1> 
     </div> 
     <div class="tile tile_back" style="display: none;">       
      <h1 class="title">Buffalo Medium</h1> 
      <p class="description">Medium heat</p> 
     </div> 
    </div> 
    <div id="tile_id_439" class="product_tile"> 
     <div class="tile tile_front" style="display: block;"> 
      <h1>Buffalo Mild</h1> 
     </div> 
     <div class="tile tile_back" style="display: none;">       
      <h1 class="title">Buffalo Mild</h1> 
      <p class="description">No heat</p> 
     </div> 
    </div> 
    <div id="tile_id_440" class="product_tile"> 
     <div class="tile tile_front" style="display: block;"> 
      <h1>Honey BBQ</h1> 
     </div> 
     <div class="tile tile_back" style="display: none;">       
      <h1 class="title">Honey BBQ</h1> 
      <p class="description">Sweet BBQ</p> 
     </div> 
    </div> 

</div> 

我需要在tile_back DIV这是每n个product_tile DIV的孩子,从N开始我的代码运行。 (n的值可以改变)例如,有一次我需要在第四个元素上运行代码,从第四个元素开始(或者第三个元素,如果你使用的是0)。所以在这个例子中,代码会运行另一次,我需要在每个第三项上运行相同的代码,所以平铺4和平铺8,但再次不平铺1.

我试过使用

$("#tile_set .product_tile:nth-child(4n)"); 

但得到我瓷砖2,4,6和8.我只想在这种情况下4和8。

我需要的是一种传递n值的方法,让它返回匹配的图块(如果我传入3,返回3/6/9;如果我传入4,返回4/8。 )

这可能吗?

+2

什么你的建议是正确的 - 必须有别的东西造成的问题... [实例的jsfiddle(HTTP:// jsfiddle.net/sdBzH/) – Archer

+0

@Archer,你是对的 - 我将html分离出来以方便阅读,但还有另外一层。我正在更新OP来显示实际的HTML。 – EmmyS

回答

0

要访问tile_back div的,你可以使用:

$(".tile_back", ".product_tile:nth-child(4n)") 

例如打印出来,在他们每个人的<p>元素中的文本,你可以这样做:

$(".tile_back > p", ".product_tile:nth-child(4n)").text(); 
相关问题