jquery将$(this)传递给其他函数

jquery将$(this)传递给其他函数,jquery,function,toggle,this,Jquery,Function,Toggle,This,高 我想做的是:我有一个带有onclick的表,它连接到一个位于偶数行的表中的链接。每一行都是隐藏的。单击该链接,将显示奇数行,并将数据加载到该行中。很好 现在我想做的是,每当这个过程完成时,我想在链接上附加一个新的click函数,使行再次隐藏。有点像切换,但还有一些功能,只是显示/隐藏功能。我试着用下面的代码来做,但无法让它工作 我肯定错过了一些非常基本的东西,或者只是对jquery不够了解(这很有可能,因为我几周前才开始学习) 它打开表行,插入数据,但不附加函数以再次关闭行。我怎样才能做到这

我想做的是:我有一个带有onclick的表,它连接到一个位于偶数行的表中的链接。每一行都是隐藏的。单击该链接,将显示奇数行,并将数据加载到该行中。很好

现在我想做的是,每当这个过程完成时,我想在链接上附加一个新的click函数,使行再次隐藏。有点像切换,但还有一些功能,只是显示/隐藏功能。我试着用下面的代码来做,但无法让它工作

我肯定错过了一些非常基本的东西,或者只是对jquery不够了解(这很有可能,因为我几周前才开始学习)

它打开表行,插入数据,但不附加函数以再次关闭行。我怎样才能做到这一点

有什么想法吗?

问题是:

$(this).click(function(){
  attachHideMyChildren();
});
当您以这种方式调用函数时,
将变为
窗口
。而是这样做:

$(this).click(attachHideMyChildren);
另外,您正在添加
click()
处理程序,而不删除旧的处理程序

也就是说,有一种更简单的方法可以做到这一点

$("a.version").click(function() {
  var next = $(this).closest("tr").next();
  if (next.is(":hidden")) {
    $.get($(this).attr("href"), function(sData) {
      next.find("td:first").html(sData);
      next.show();
    });
  } else {
    next.hide();
  }
  return false;
});

我应该去做。

天哪!成功了。谢谢你,克莱特斯。
$("a.version").click(function() {
  var next = $(this).closest("tr").next();
  if (next.is(":hidden")) {
    $.get($(this).attr("href"), function(sData) {
      next.find("td:first").html(sData);
      next.show();
    });
  } else {
    next.hide();
  }
  return false;
});