2015-01-16 3 views
1

У меня есть несколько таблиц в моем документе. Как получить «идентификатор» таблицы, которая имеет наибольшее количество строк таблицы?jQuery получить таблицу с большим количеством строк

<table id="1"> 
    <tr></tr> 
    <tr></tr> 
</table> 

<table id="2"> 
    <tr></tr> 
    <tr></tr> 
    <tr></tr> 
    <tr></tr> 
</table> 

<table id="3"> 
    <tr></tr> 
</table> 
+0

Можете ли вы показать, что вы пробовали до сих пор? –

ответ

0

Off верхней части моей головы, вы могли бы попробовать что-то вроде этого:

function getLargestTable() { 
    var curr=0,max=0, id; 
    $('table').each(function(){ 
    curr = $(this); 
    len = curr.find('tr').length; 
    if (len > max) { 
     max=len; 
     id=curr.attr('id'); 
    } 
    }); 
    return id; 
}  

Возможно не самый лучший код в мире, но он должен работать;

+0

Спасибо, что это сработало для меня. Я заменил «i» на «$ (this) и id с помощью« attr ('id') ». – typocoder

0

Кратчайший решение, которое я мог придумать:

var result = $("table") 
    .sort(function(a, b) { return $(b).find("tr").length - $(a).find("tr").length; }) 
    .first() 
    .attr("Id");