我有一个javascript函数,该函数在select表单元素的change事件上被调用。因此,js中的“ this”变量是指select元素。
该选择元素在td标签和tr标签中。 tr标签的类名称为“ FilterDetailsRow”。
现在,我已经测试过了,是否使用了以下语法:
var filterRow = $(this).parent().parent();
它让我得到我想要的。但是,有没有更好的方法来告诉jQuery,“以“ this”开头,请问您能不能走上我的父母树,直到找到一个类名为“ FilterDetailsRow”的父母?
这是我想出的,但是我想确保自己没有重新发明轮子。
function GetFilterDetailsRowOfObject(o) {
if (o) {
if (o.parent()[0].className.indexOf("FilterDetailsRow") != -1)
return o;
else
return GetFilterDetailsRowOfObject(o.parent());
} else {
return null;
}
}
感谢您的任何建议。
最佳答案
您可以使用closest
查找第一个匹配的祖先:
var filterRow = $(this).closest('.FilterDetailsRow');