Я пытаюсь написать селектор jQuery для выбора диапазона ячеек таблицы (minRow, minCol) до (maxRow, maxCol).Получение диапазона ячеек таблицы с помощью селекторов jQuery
У меня есть селектор, который работает для горизонтального диапазона (COL 1, строка 2) до (COL 3, строка 2)
$('tr:lt(3):gt(1) td:lt(4):gt(0))')
Но это не выполняется для соответствующего вертикального диапазона (COL 2, строка 1) к (COL 2, строка 3)
$('tr:lt(4):gt(0) td:lt(3):gt(1)')
, потому что селектор TD не будет цикл по строке, он будет просто сделать первый один
Эта версия, используя карту, и каждый работает
$('tr:lt(4):gt(0)').map(function() { return $(this).find('td:lt(3):gt(1)') }).each(function() { /* this.do_something */ });
, но даже уродливый
Есть ли элегантный способ достичь этого?
Бонусные баллы для нахождения более элегантный селектор диапазона, чем :lt():gt()
Примеры указанных выше горизонтальных и вертикальных диапазонов и диапазон блока находятся на этой скрипке http://jsfiddle.net/jghaines/qeLhgw4f/4/
Потрясающе, спасибо. Я отмечаю, что срез будет работать только в первом селекторе tr. Это не работает: '$ ('table # 4 tr'). Slice (1,4) .find ('td'). Slice (1,4) .addClass ('yellow'); ' – Jason