我有一个现有的函数,它将cellobj作为输入参数,例如
MyFunction(cellObj)
当有人点击表格中的单元格时会使用此选项,表格中的HTML将如下所示:
MyFunction(this) //this is the cellObj
现在我需要调用完全相同的函数,但我不在表中,我循环遍历行 我不能传递“this”,因为它是一个行对象而不是一个单元格对象。 我的问题是如何从行对象中获取cellobject
e.g。
$("#gv tr:has(td)").each(function () {
var cellObj = $(this)........
MyFunction(cellObj);
})
答案 0 :(得分: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 的行放在函数中,并将每行传递给你的函数。