如何获取组中的每个第n个元素(以#n开头)? - 更新

时间:2012-12-13 16:23:19

标签: jquery jquery-selectors

更改加粗


我需要在一组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上运行我的代码,该div是每个nth product_tile div 的子代,从n开始。 (n的值可以改变。)例如,有一次我需要在每个第四个元素上运行代码,从第四个元素开始(或者第三个,如果你使用基数0)。所以在这个例子中,代码将在Tile 4和Tile 8上运行,但不会在Tile 1上运行。另一次,我需要在每三个项目上运行相同的代码,因此Tile 4和Tile 8,但同样不是Tile 1.

我尝试过使用

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

但是这会让我获得Tile 2,4,6和8.在这种情况下我只想要4和8。

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

这可能吗?

1 个答案:

答案 0 :(得分:0)

要访问tile_back div,您可以使用:

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

E.g。要打印出每个文本中<p>元素中的文本,您可以执行以下操作:

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