gpt4 book ai didi

javascript - jquery选择前一个元素与选择器匹配的每个元素

转载 作者:行者123 更新时间:2023-11-28 20:09:04 27 4
gpt4 key购买 nike

我有以下问题,我已经为此苦苦挣扎了很长一段时间。我确信解决方案非常简单,但我仍然看不到它。在下面的行集中,我只想选择包含类 .replace 或 .empty 或 .delete 或 .insert 的行,并且前面是包含类 .equal 的行:

<tr>
<th>sth</th>
<td class="equal"> sth</td>
<th>sth</th>
<td class="equal"> sth</td>
</tr>
<tr>
<th>sth</th>
<td class="equal"></td>
<th>sth</th>
<td class="equal"></td>
</tr>
<tr>
<th>want to be 1st selected row</th>
<td class="replace"></td>
<th></th>
<td class="replace"> </td>
</tr>
<tr>
<th>dont want this one but it selects it</th>
<td class="replace"></td>
<th>sth</th>
<td class="replace"> sth</td>
</tr>
<tr>
<th>sth</th>
<td class="equal"></td>
<th>sth</th>
<td class="equal"></td>
</tr>
<tr>
<th>want to be 2nd selected row</th>
<td class="delete"></td>
<th></th>
<td class="delete"> </td>
</tr>
<tr>
<th>sth</th>
<td class="replace"></td>
<th>sth</th>
<td class="replace"> sth</td>
</tr>

所以我想出了一个 jQuery(“prev + next”) 选择器,但它似乎不起作用,因为它只选择我想要的第一行,然后选择所有其他包含 .replace 的行,并且只有在跳转之后到下一个 .replace ,其前面是 .equal :

$('tr:has(.equal) + tr:has(.replace),tr:has(.empty),tr:has(.delete),tr:has(.insert)')

最佳答案

这稍微更有效,但更冗长:

$("tr:has(.equal)").next("tr:has(.empty), tr:has(.insert), tr:has(.delete), tr:has(.replace)")

Fiddle , jsPerf

关于javascript - jquery选择前一个元素与选择器匹配的每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20221261/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com