我有一系列不同类别的行。
<tr class="head">...
<tr class="group">...
<tr class="item">...
<tr class="item">...
<tr class="item">...
<tr class="group">...
<tr class="item">...
<tr class="item">...
<tr class="item">...
<tr class="group">...
<tr class="item">...
<tr class="item">...
<tr class="item">...
假设我的上下文在其中一个项目中,我如何选择之前、之后和包括它的所有行,即项目,而不跨越组?
在此示例中,无论我在哪个项目行,我都应该始终生成三个项目行的集合。
目前我有这个,虽然它有效,但我希望有一种更清洁的方法。
var $itemRows = $targetRow.prevUntil('tr.group').add($targetRow.nextUntil('tr.group')).add($targetRow);
类似的东西.siblings('tr.item')
会得到所有九个项目,而不是三个连续的项目。而且我不能把它们放在 tbody 中,因为这已经在 tbody 中并且嵌套它们是无效的 html。
我已将其改进为
var $itemRows = $targetRow.prevAll('tr.group:first').nextUntil('tr.group');