Jquery 切换表的tr不工作

Jquery 切换表的tr不工作,jquery,Jquery,我想使用此内容禁用td“单击必须禁用”和单击“单击听到1”可以正常工作,但不起作用“单击听到2” JQUERY: $("#chart tr:odd").addClass("odd"); $("#chart tr.odd").click(function() { $(this).next("tr").toggle(); }); HTML: 表1 必须禁用单击 点击收听1 ssssssssssssssssssssssssssssssSSSSSSSsssssSSSSSSS 表2 必须

我想使用此内容禁用
td
“单击必须禁用”和单击“单击听到1”可以正常工作,但不起作用“单击听到2”

JQUERY:

$("#chart tr:odd").addClass("odd");

$("#chart tr.odd").click(function()
    {
  $(this).next("tr").toggle();
});
HTML:


表1
必须禁用单击
点击收听1
sssss
sssss
sssss
sssss
sssss
sssss
SSSSSSS
sssss
SSSSSSS
表2 必须禁用单击 点击收听2 sssss
sssss
sssss
sssss
sssss
sssss
SSSSSSS
sssss
SSSSSSS
这是您的HTML(简化):

它正在寻找所有类
tr
odd
:HTML中的第一个
tr
有它,但第二个没有(这就是它不工作的原因)。您尝试通过JavaScript添加这些类,方法如下:

$("#chart tr:odd").addClass("odd");
但这是在单击处理程序之后应用的

解决方案可能是将
odd
类添加到第二个
tr
,但最动态的方法是简单地将选择器更改为使用
odd
过滤器而不是类:

$("#chart tr:odd").click(function() {
    $(this).next("tr").toggle();
});

附言:是“在这里”,不是“听到”;)

您正在使用
:odd
选择器,但要选择的行不是奇数行

  • 必须禁用单击
  • 点击这里1
  • 必须禁用单击
  • 点击这里2
  • 以下JSFIDLE显示了一个工作示例:


    我已经手动将
    odd
    类添加到应该可以单击的两行中。您可以删除将奇数类添加到所有奇数行的第一行。

    这行不通。可单击行不是奇数行。这将使“单击必须禁用”可单击。@Wouter de Kort,谢谢,我可以单击表的第二个
    单击必须禁用
    单击此处2
    不工作更新了JSFIDLE链接。。不知道为什么上一个没有包含我的更改。
    $("#chart tr.odd").click(function() {
        $(this).next("tr").toggle();
    });
    
    $("#chart tr:odd").addClass("odd");
    
    $("#chart tr:odd").click(function() {
        $(this).next("tr").toggle();
    });