将一个类添加到所有下一个元素,直到该类的子元素为止
Add a class to all next element until child with class
我正试图使用jQuery将一个"bg-info"类添加到奇数tr之后的所有tr中,子类为"test"。当看到child>child类为"test"的tr时,"bg-info"类应停止应用,然后当看到child>child类的下一个奇数tr时,继续应用。金额是动态的,因此不能依赖于特定数量的tr。我试过很多组合,但似乎都不能正确地进行。参见JSFiddle。提前感谢:(
JSFiddle
https://jsfiddle.net/vrpuahue/4/
HTML
<table>
<thead>
<tr>
<th>Test</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="test">Test1</div>
</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>
<div class="test">Test2</div>
</td>
</tr>
<tr>
<td>Highlight</td>
</tr>
<tr>
<td>Highlight</td>
</tr>
<tr>
<td>Highlight</td>
</tr>
<tr>
<td>
<div class="test">Test3</div>
</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>
<div class="test">Test4</div>
</td>
</tr>
<tr>
<td>Highlight</td>
</tr>
<tr>
<td>Highlight</td>
</tr>
<tr>
<td>Highlight</td>
</tr>
<tr>
<td>
<div class="test">Test5</div>
</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
</tbody>
</table>
CSS
.bg-info {
background: grey;
}
JS
$('tbody tr td .test:odd').parent().parent().addClass('bg-info');
在这种情况下,使用nextUntil方法可以帮助您。
我将一个类添加到所有偶数和奇数父类,然后highlight
所需的特定元素。
演示
$('.test:odd').parents('tr').addClass('odd');
$('.test:even').parents('tr').addClass('even');
$('.odd').nextUntil('.even').addClass('highlight');
.highlight {
background: yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table>
<thead>
<tr>
<th>Test</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="test">Test1</div>
</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>
<div class="test">Test2</div>
</td>
</tr>
<tr>
<td>Highlight</td>
</tr>
<tr>
<td>Highlight</td>
</tr>
<tr>
<td>Highlight</td>
</tr>
<tr>
<td>
<div class="test">Test3</div>
</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>
<div class="test">Test4</div>
</td>
</tr>
<tr>
<td>Highlight</td>
</tr>
<tr>
<td>Highlight</td>
</tr>
<tr>
<td>Highlight</td>
</tr>
<tr>
<td>
<div class="test">Test5</div>
</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
<tr>
<td>Do Not Highlight</td>
</tr>
</tbody>
</table>
相关文章:
- 滚动到容器中的下一个元素-几乎到了
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 真正的下一个具有特定类的元素
- jQuery转盘下一个元素没有滑入
- 获取锚点的下一个元素
- j查询 如何选择当前元素之后的下一个元素
- 获取下一个或上一个隐藏元素的高度,以设置父元素的高度.jquery.
- 如何在 JavaScript 中获取下一个元素和更新
- jQuery网站的键盘快捷键,焦点使用左键和右键转到上一个或下一个元素
- 如果上一个元素为空,则隐藏下一个元素
- 使用表时,Jquery Next()未正确突出显示下一个元素
- 如何将所有下一个元素包装到
- 获取活动元素之后的下一个元素
- jQuery-在每个复选框中获取下一个元素
- 找不到下一个元素
- 正在从元素中获取下一个className
- 如何获取下一个元素's值-jquery
- 如何选择 $(this) 之后的下一个元素
- 专注于下一个元素
- Jquery 选择元素下一个/上一个/最近