如果我有这样的话:
<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>
答案 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 );
});
答案 1 :(得分:0)
我认为nextUntil是您之后的目标:
$("#3").prevAll("tr.main:first").nextUntil("tr.main")