检查行是否包含复选框

时间:2017-10-13 14:48:53

标签: javascript jquery

我想检查表中的行是否包含复选框,无论是否选中它。如果是,鼠标悬停操作会更改其背景颜色。 我的表用class .parts表示。 以下是代码的一部分:

$(document).ready(function () {
      $(".parts tbody tr:contains('input:checkbox')").on('mouseover', function () {
          $(this).css("background-color", "#EFF3F7");
      });
  });

2 个答案:

答案 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;
&#13;
&#13;

答案 1 :(得分:2)

$(document).ready(function () {
    $('input:checkbox').parents(".parts").on('mouseover', 
    function () {
        $(this).css("background-color", "#EFF3F7");
    });
});

如果要在parts类上绑定事件,这应该适合您。