jQuery函数的奇怪行为

jQuery函数的奇怪行为,jquery,function,Jquery,Function,为什么这两个函数有一种奇怪的行为,当我点击ad时,tbody会膨胀然后崩溃 在第二个函数上,可以执行一些测试,将警报添加到if、else语句中,但它只进入if语句,因此它只会滑动 我注意到的另一件事是,当tbody中只有一行时,它可以正常工作。为什么? 我还尝试添加returnfalse和nothing,函数没有被调用两次或在任何其他地方 如果我能得到一些修复,我将不胜感激 谢谢 Function 1 $(function() { $("table.section thead").cli

为什么这两个函数有一种奇怪的行为,当我点击ad时,tbody会膨胀然后崩溃

在第二个函数上,可以执行一些测试,将警报添加到if、else语句中,但它只进入if语句,因此它只会滑动

我注意到的另一件事是,当tbody中只有一行时,它可以正常工作。为什么?

我还尝试添加returnfalse和nothing,函数没有被调用两次或在任何其他地方

如果我能得到一些修复,我将不胜感激

谢谢

Function 1
$(function() {
    $("table.section thead").click(function() {
    $(this).next("table.section tbody").slideToggle("slow");

    });
});

Function 2
$(function() {
    $("table.section thead").click(function() {
      var body = $(this).next("table.section tbody");
      if (body.is(":visible"))
         body.slideUp("slow");
      else
         body.slideDown("slow");
    });
});
更新 桌子


标题>
内容1
内容2

不清楚,但如果脚本中同时包含这两个选项,则调用.click()两次,相当于:

$(function() { 
    $("table.section thead").click(function() { 
      $(this).next("table.section tbody").slideToggle("slow"); 
      var body = $(this).next("table.section tbody"); 
      if (body.is(":visible")) 
         body.slideUp("slow"); 
      else 
         body.slideDown("slow"); 
    }); 
}); 

我查看了jQuery邮件列表,这是高度依赖于浏览器的,因为它们处理表以及如何完全不同地阻止。相反,我会尝试将头部放在不同的元素中,然后滑动整个桌子,或者让身体褪色,类似这样:

$(function() {
  $("table.section thead").click(function() {
    $(this).next("tbody").animate({opacity: 'toggle'});
  });
});

在jQuery框架中,动态调整单个表组件上的维度并使其正确地跨浏览器似乎不值得修复,因此我预计这不会很快改变。

这两个函数是否同时绑定,或者这两次尝试做的是同一件事?OP replicated question@Sorpigal-这是两次不同的尝试,与他之前的一个问题不同。我只使用了其中一个函数。这是我正在分别尝试的两个功能
$(function() {
  $("table.section thead").click(function() {
    $(this).next("tbody").animate({opacity: 'toggle'});
  });
});