jquery父选择 - 更有效的方式

时间:2009-07-10 11:11:56

标签: jquery css-selectors

选择第三个父母时,是否有比以下更有效的方式?

$(draggable).parent().parent().parent().attr('entityid')

2 个答案:

答案 0 :(得分:8)

这应该更快,因为我们使用纯DOM而不是重复将父级附加到jQuery对象。

jQuery.fn.getParent = function(num) {
    var last = this[0];
    for (var i = 0; i < num; i++) {
        last = last.parentNode;
    }
    return jQuery(last);
};
// usage:
$('#myElement').getParent(3);

工作演示:http://jsbin.com/ecoze

答案 1 :(得分:2)

如果你有id,class或者标记名,你可以$(draggable).parents(element)。但要确保它足够独特,你只能得到一个元素,因为parents()会找到多个元素。