我正在尝试使用jQuery返回在我的数据表中检查的所有行。如果span class =“checked”(第1行和第3行)并且未选中span class =“”(第2行),则检查行。是否有一种使用jQuery .find()方法返回所有行的快捷方式。而不是迭代所有行并比较span类属性?
我知道我可以使用find()来获取所有行。但有没有办法在jQuery find方法中定义内部元素?
<table id="myTable">
<tr>
<td>
<div class="checker">
<span class="checked">
<input type="checkbox" value="1" class="checkboxes">
</span>
</div>
</td>
<td> blah
</td>
</tr>
<tr>
<td>
<div class="checker">
<span class="">
<input type="checkbox" value="1" class="checkboxes">
</span>
</div>
</td>
<td> blah
</td>
</tr>
<tr>
<td>
<div class="checker">
<span class="checked">
<input type="checkbox" value="1" class="checkboxes">
</span>
</div>
</td>
<td> blah
</td>
</tr>
</table>
答案 0 :(得分:1)
您可以使用:has
选择器或has
方法:
$('#myTable').find('tr:has(span.checked)');
或者:
$('#myTable tr').has('span.checked');
答案 1 :(得分:0)
您应该使用&#34; closest
&#34;:
$('#myTable .checked').closest('tr')
如果选中复选框,则可以直接进行测试
$('#myTable input[type="checkbox"]:checked').closest('tr')
答案 2 :(得分:0)
这是我使用.closest()
和.find()
$(document).ready(function(){
$(".checkboxes").click(function(){
$(this).closest('tr').find('td').toggleClass('blue');
});
});