寻找孩子最少的元素?

时间:2011-12-14 10:36:19

标签: jquery

我如何使用jQuery在我的表中找到包含最少量子元素(tr)的元素(td)?

2 个答案:

答案 0 :(得分:4)

$(document).ready(function(){
    var tr = $('tr');
    tr.sort(function(a, b) { 
        return $(a).children('td').length - $(b).children('td').length;
    });
    // $(tr).first() is your TR with fewest TDs
});

JSFiddle Example

答案 1 :(得分:1)

我可能会将其封装到自定义的jQuery包装器方法中。

(function($) {

    // blah with function name
    $.fn.fewestChildren = function () {

        var $this = $(this).filter('tr'), 
            bookmark = $this.eq(0)
            ;

        $this.not(bookmark).each(function () {
            var $t = $(this);
            if (bookmark.children('td').length > $t.children('td').length) {
                bookmark = $t;
            }
        });

        return bookmark;
    };

})(jQuery);

所以我可以像使用它一样:

var foo = $('#mytable tr').fewestChildren();

我真的很想看到解决方案而不必使用bookmark变量。