2012-12-13 108 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(); 
相關問題