TR中的Jquery选择器

时间:2014-06-18 15:32:17

标签: jquery jquery-selectors

如果我有这样的话:

<tr class="main"></tr>
<tr class="sub" id="2">2</tr>
<tr class="sub" id="3">3</tr>
<tr class="sub" id="4">4</tr>
<tr class="main"></tr>
<tr class="sub" id="6">6</tr>
<tr class="sub" id="7">7</tr>
<tr class="main" id="8">8</tr>
<tr class="sub"></tr>

使用JQUERY选择器,当我在子类的TR上时,有没有办法在TR.main之前只获得TR.main之间的其他TR.sub?

例如,如果我在TR.sub上使用3,那么如何使用JQUERY获取带有2,3和4的TR.sub? (在前一主要和下一主要之间)。

我可以使用前面的TR.main(例如TR为id =&#34; 3&#34;):

$("#3").prevAll("tr.main:first")

所以我需要得到所有这3个TR:

<tr class="sub" id="2">2</tr>
<tr class="sub" id="3">3</tr>
<tr class="sub" id="4">4</tr> 

2 个答案:

答案 0 :(得分:1)

您可以使用以下组合:

.prevUntil('.main');

.nextUnti('.main');

注意:请避免使用以下有问题的HTML:

- tr elements with non td children
- elements with numeric id values.

以下是代码:

$(function() {
    var target = $('#i3');
    var all = target.add( target.prevUntil('.main') ).add( target.nextUntil('.main') );
    console.log( all );
});

Working Demo

答案 1 :(得分:0)

我认为nextUntil是您之后的目标:

$("#3").prevAll("tr.main:first").nextUntil("tr.main")