Чего я пытаюсь добиться, так это получить все rows
после текущей строки.
Он должен извлекать все строки после него, пока не перестанет иметь определенный класс.
Пример:
<tr class = "clicked_el"></tr>
<tr class = "getme"></tr>
<tr class = "getme"></tr>
<tr class = "getme"></tr>
<tr class = "getme"></tr>
<tr></tr> //It should stop here
<tr class = "getme></tr>
Когда я нажимаю на tr
с классом clicked_el. Я хочу получить все «tr» с классом getme
до tr
без класса getme
.
Я пытался сделать это с nextAll
не знал, как использовать фильтр с nextUntil
Вы можете использовать метод jQuery nextUntil()
вместе с селектором псевдокласса :not
.
$('tr.clicked_el').nextUntil(':not(.getme)')
$('tr.clicked_el').nextUntil(':not(.getme)').html('<td>selected<td>')
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table border=1>
<tr class = "clicked_el"></tr>
<tr class = "getme"></tr>
<tr class = "getme"></tr>
<tr class = "getme"></tr>
<tr class = "getme"></tr>
<tr></tr>
<tr class = "getme"></tr>
</table>
nextUntil()
docs :
Get all following siblings of each element up to but not including the element matched by the selector.
@reyyoung $('tr.clicked_el tr:последний')
Вы можете использовать $(".clicked_el").nextUntil(":not(.getme)")
Это вернет:
<tr class = "clicked_el"></tr>
<tr class = "getme"></tr> <- This will be returned;
<tr class = "getme"></tr> <- This will be returned;
<tr class = "getme"></tr> <- This will be returned;
<tr class = "getme"></tr> <- This will be returned;
<tr></tr>
<tr class = "getme></tr>
Демо
console.info($(".clicked_el").nextUntil(":not(.getme)").length)
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tbody>
<tr class = "clicked_el"></tr>
<tr class = "getme"></tr>
<tr class = "getme"></tr>
<tr class = "getme"></tr>
<tr class = "getme"></tr>
<tr></tr>
<tr class = "getme"></tr>
</tbody>
</table>
Дополнительный вопрос .. есть ли способ получить последний tr
с getme
после этого второго последнего tr
Дополнительный вопрос .. есть ли способ получить последний
tr
сgetme
после этого второго последнегоtr