0

抱歉标题不好,我不知道如何表达这个问题。

我需要一些帮助来编写一个 jQuery 或 javascript 选择器来获取不是第一个的每个 childBlock。有 N 个 parentBlock div 至少有一个 childBlock div 子级。我们想在第一个之后为每个后续子 div 更改一些标签。选择这些元素的最有效方法是什么?

<div class="parentBlock">
    <div class="elementHead">
    </div>
    <div class="elementBody">
        <div class="childBlocks">
            <div class="childBlock" id='1'>
            </div>
            <div class="childBlock" id='2'>
            </div>
            <div class="childBlock" id='3'>
            </div>
            <div class="childBlock" id='4'>
            </div>
            ...
        </div>
    </div>
<div>
<div class="parentBlock">
    <div class="elementHead">
    </div>
    <div class="elementBody">
        <div class="childBlocks">
            <div class="childBlock" id='5'>
            </div>
            <div class="childBlock" id='6'>
            </div>
            <div class="childBlock" id='7'>
            </div>
            <div class="childBlock" id='8'>
            </div>
            ...
        </div>
    </div>
<div>

因此,在上面的示例中,我想选择 id 为 2、3、4、6、7、8 的 childBlocks。在我的实际代码中,这些 div 没有 id,如果这样做,它们只是被分类完全不同。

我试过了:

$(".parentBlock").find(".childBlock").not(':first').find('label.category ').text("Subcategory");

但它似乎在屏幕上找到了第一个 childBlock,跳过它,然后将文本更改应用于它找到的每个其他 childBlock div。

想法或建议?

4

2 回答 2

4

你非常亲近。你想要first-child,而不是first

http://jsfiddle.net/pMYWS/

$(".parentBlock").find(".childBlock").not(':first-child').text("Subcategory");

(我假设label.category您的真实代码中存在此演示片段中未显示的内容)

于 2013-10-22T20:04:21.937 回答
1

像这样的东西呢?

$(".childBlocks:not(:first-child)") (do something here)
于 2013-10-22T20:04:24.513 回答