我有一个 javascript 函数,它在选择表单元素的更改事件时被调用。所以,js中的this变量就是指select元素。
这个 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');
关于javascript - 使用 jQuery 获取具有特定类名的对象的 "ancestor"的可靠方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2654067/