我想检查表中的行是否包含复选框,无论是否选中它。如果是,鼠标悬停操作会更改其背景颜色。 我的表用class .parts表示。 以下是代码的一部分:
$(document).ready(function () {
$(".parts tbody tr:contains('input:checkbox')").on('mouseover', function () {
$(this).css("background-color", "#EFF3F7");
});
});
答案 0 :(得分:6)
:contains
查找文字。您正在寻找:has
,没有内部引号:
$(".parts tbody tr:has(input:checkbox)").on('mouseover', ...
// ----------------^---^-------------^
无偿的现场例子:
$(".parts tbody tr:has(input:checkbox)").on('mouseover', function() {
$(this).css("background-color", "#EFF3F7");
});

.parts, .parts td {
border: 1px solid #ddd;
}

<table class="parts">
<tbody>
<tr>
<td>No</td>
<td>checkbox</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>has checkbox</td>
</tr>
<tr>
<td>has checkbox</td>
<td><input type="checkbox" checked></td>
</tr>
</tbody>
</table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 1 :(得分:2)
$(document).ready(function () {
$('input:checkbox').parents(".parts").on('mouseover',
function () {
$(this).css("background-color", "#EFF3F7");
});
});
如果要在parts
类上绑定事件,这应该适合您。