如何找到所有下一个元素直到一个或两个元素与jQuery

时间:2015-10-30 12:03:40

标签: jquery

我在jquery中有这个选择器

$(ptr).nextUntil('tr.item').fadeOut('slow', function() {
            $(this).remove();
        });

但我想做这样的事情

$(ptr).nextUntil('tr.item' OR 'tr.ptype').fadeOut('slow', function() {
            $(this).remove();
        });

我已经尝试过这个选择器,但它不能正常工作:

 $(ptr).nextUntil('tr.item, tr.ptype').fadeOut('slow', function() {
        $(this).remove();
    });

示例,有两种情况,它应该删除所有tr.add_tr元素,直到找到tr.item或tr.ptype的重合

CASE 1



<tr class="item"></tr> <!-- i'm here -->
<tr class="add_tr"></tr> <!-- remove it -->
<tr class="add_tr"></tr><!-- remove it -->
<tr class="add_tr"></tr><!-- remove it-->
<tr class="ptype"></tr> <!-- don't remove it-->
<tr class="item"></tr> <!-- don't remove it-->
<tr class="add_tr"></tr> <!-- don't remove it-->
<tr class="add_tr"></tr> <!-- don't remove it-->
<tr class="add_tr"></tr> <!-- don't remove it-->
<tr class="add_tr"></tr> <!-- don't remove it-->
<tr class="add_tr"></tr> <!-- don't remove it-->




CASE 2

<tr class="item"></tr> <!-- i'm here -->
<tr class="add_tr"></tr> <!-- remove it -->
<tr class="add_tr"></tr><!-- remove it -->
<tr class="add_tr"></tr><!-- remove it-->
<tr class="item"></tr> <!-- don't remove it-->
<tr class="add_tr"></tr> <!-- don't remove it-->
<tr class="add_tr"></tr> <!-- don't remove it-->
<tr class="add_tr"></tr> <!-- don't remove it-->
<tr class="add_tr"></tr> <!-- don't remove it-->
<tr class="ptype"></tr> <!-- don't remove it-->
<tr class="item"></tr> <!-- don't remove it-->
<tr class="add_tr"></tr> <!-- don't remove it-->
你能帮帮我吗?

2 个答案:

答案 0 :(得分:1)

您可以这样使用:

    $(ptr).nextUntil('tr.item, tr.ptype').fadeOut('slow', function() {
        $(this).remove();
    });

答案 1 :(得分:-1)

我想你可以改变在元素之间添加冒号。像这样的东西

$(ptr).nextUntil('tr.item,tr.ptype').fadeOut('slow', function() {
        $(this).remove();
    });

让我知道这是否有效?