3

我有一个现有函数,它将 cellobj 作为输入参数,例如

MyFunction(cellObj)

当有人单击表格中的单元格时使用此功能,表格中的 HTML 将如下所示:

MyFunction(this)   //this is the cellObj

现在我需要调用完全相同的函数,但我不在表格中,我正在循环遍历行并且我不能传递“this”,因为它是行对象而不是单元格对象。因此,我的问题是如何从行对象中获取单元对象

例如

 $("#gv tr:has(td)").each(function () {
      var cellObj = $(this)........
      MyFunction(cellObj);
})
4

1 回答 1

5

所以你在行中,你需要依次获取每个单元格以将它们传递给你的函数,所以你所要做的就是从行中找到单元格,并以完全相同的方式遍历它们您确实可以获取并遍历表格的行。

这应该可以解决问题:

$(this).find('td').each(function() {
  // now your cell is in $(this)
  MyFunction($(this));
});

使用它而不是var cellObj = $(this)...等。

编辑:

要每行仅执行一次,请尝试...

var cellObj = $(this).find('td:first');
MyFunction(cellObj);

虽然我觉得如果你这样做,那么你的代码可能没有有效地结构化。我会将找到 cellObj 的行放在你的函数中,然后将你的函数传递给每一行。

于 2012-12-19T11:08:12.010 回答