jquery - 如果没有元素如何选择

标签 jquery css html-table css-selectors jquery-selectors

如果用户点击<td>,我希望这样的<tr> 没有有类型为复选框的输入元素,它将调用一个函数。

实际上,我正在尝试这样做:

 $(document).on("click", "#mytable tr:has(td)", function (e) {
     //Some code
 }

我还尝试添加 tr:has(td):not(checkbox)但也不起作用。

这样也行不通:

if (e.toElement === "input"){
    return;
}

有办法做到这一点吗?看看表如何: Table

最佳答案

您使用了正确的选择器,:not:has,但顺序不正确。试试这个:

$(document).on("click", "#mytable tr td:not(:has(:checkbox))", function(e) {
  console.log('this cell has no checkbox');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="mytable">
  <tr>
    <td><input type="checkbox" /></td>
    <td>Foo</td>
    <td>Bar</td>
  </tr>
  <tr>
    <td><input type="checkbox" /></td>
    <td>Fizz</td>
    <td>Buzz</td>
  </tr>
</table>

关于jquery - 如果没有元素如何选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51769428/

相关文章:

javascript - 创建复杂的 HTML 表格

jquery - 在 jQuery 中调整 HTML 表格宽度

jquery - Ajax 请求随机失败

javascript - 如何将动态生成的单选按钮和输入字段中的数据保存到 MySQL 数据库

jquery - 在具有相同类别的每个 div 上裁剪图像

javascript - 将Canvas Circular Timer分成364个

能够在 IE6、IE7、Safari 3 中预览的 CSS 编辑器?

jquery - 有没有简单的方法来获取 li :gt(-1) in jquery?

javascript - 使用 Jquery 按类和 ID 获取图像元素

Javascript 从 html 表的特定行获取列的文本值