我有一个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');

09-18 13:05