我不完全是一個jQuery選擇器忍者,所以我問這個希望有人可以刺穿它。我使用jQuery模板來創建一個基於嵌套字典(它們嵌套5層左右)的行的表。它基於關於組織結構的數據以及每個組中的人員。根據下面的部分代碼,我的目標是 - 對於每個「團隊」行 - 獲取屬於該團隊的「人員」行。這是我所得到的,爲了便於閱讀而縮進。獲得行類「a」之後的類「b」行的集合,直到下一個非「b」行?
<tr class="division">...</tr>
<tr class="team">...</tr>
<tr class="person">...</tr>
<tr class="person">...</tr>
<tr class="team">...</tr>
<tr class="person">...</tr>
<tr class="person">...</tr>
<tr class="person">...</tr>
<tr class="division">...</tr>
<tr class="team">...</tr>
我現在已經是一個jQuery選擇器,獲取所有class="team"
行,然後對每一行,我試圖找到選擇讓每個後續class="person"
行,直到下一個非person
行。我不明白。 有什麼需要去的地方.nextAll()
方法?
$('table tr.team').each(function() {
var personRows = $(this).nextUntil('tr.team');
console.log('row count: ' + personRows.length);
});
我登錄到控制檯暫且這麼控制檯輸出上面的HTML應與類似...
> row count: 2
> row count: 3
不幸的是,我越來越沿線更多的東西這個,因爲那個"division"
級的行。
> row count: 2
> row count: 4
我已經費盡腦子想看看通過API來獲得我想要的,但我不能得到預期的效果。有任何想法嗎?優雅的解決方案我將不得不在某處插入if
子句來確定該行是否是我想要包含在我的選擇器中的行?
另外值得注意的是:當我指定元素類型(在本例中是表格行)時,我只能得到想要的效果。 – 2011-03-09 20:49:50