2013-04-03 3 views
0

я итерация через таблицу данных в JQuery, и мне нужно сделать некоторые операции на первых пtd элементов в каждом tr. В настоящее время я использую следующую структуру, чтобы сделать это:эффективно найти все ребенок до определенного индекса в JQuery

$('#tableID').find('tr').each(function(){ 
    $(this).children('td').each(function(i){ 
     if(i < n){do_some_stuff_to(this)} 
    } 
} 

Меня беспокоит то, что, когда таблица растет большой, я могу столкнуться с некоторыми проблемами производительности с перебора каждого td элемента в строке и запуска если утверждение. Также может случиться так, что это утверждение if не занимает значительного количества времени для запуска по сравнению с do_some_stuff, но оно по-прежнему кажется неаккуратным.

Что бы я хотел сделать, это ограничить мой выбор для всех детей с индексом менее n. Что-то вроде селектора, но со всем, что предшествует индексу, также возвращается в моем селекторе jQuery. Есть ли способ сделать это без прокрутки каждого дочернего элемента каждой строки?

ответ

4

Это было бы селектор lt() (ниже):

$('#tableID tr td:lt(10)') 

Выберите все элементы с индексом меньшим, чем индекс заданной в пределах согласованного набора .

Смежные вопросы