Javascript toggleClass仅在td上工作,而不在整个tr上工作
我使用的数据表每行都有一个复选框 单击复选框时,总数将有一个名为“selected”的类 这是我写的代码Javascript toggleClass仅在td上工作,而不在整个tr上工作,javascript,jquery,Javascript,Jquery,我使用的数据表每行都有一个复选框 单击复选框时,总数将有一个名为“selected”的类 这是我写的代码 $("#domains_list").find("input[name=\'chk[]\']").on("click", function() { $(this).closest("tr").
$("#domains_list").find("input[name=\'chk[]\']").on("click",
function()
{
$(this).closest("tr").toggleClass("selected");
});
但问题是,并没有选择整个类,而是只突出显示特定的td
这是一个截图
那么,我该如何解决这个问题,有什么办法吗?我通过使用jQuery代码达到了同样的目的,我希望这也能解决您的问题
$(function() {
$('td:first-child input').change(function() {
$(this).closest('tr').toggleClass("selected");
});
});
正如Zougen指出的,您的JS是正确的——这就是为什么输入旁边的td是彩色的,而不是包含输入本身的td。其他tds不会突出显示,可能是因为您的CSS正在被覆盖 但有一件事:您的选择器看起来有点奇怪:
.find(“input[name=\'chk[]\']”
在这里您不需要转义单个”
,因为您的字符串分隔符是“
,总之,只需编写:
$('td input[name*="chk"]').change(function() {
$(this).closest('tr').toggleClass("selected");
});
你能提供你的html吗?你的javascript本身是有效的:因此我们需要查看你的CSS和html以了解问题所在。它可能与CSS相关,而不是javascript。确保其他单元格具有与tr.selected的子级相关的CSS规则,如
tr.selected*{background:#eee;}