Using jQuery how do I select a range of rows?
Does a jQuery only solution exist for selecting a range of rows from a table?
I know eq
, lt
, gt
exist, but I'm looking for a combination of those selectors.
Solution 1:
You can apply more than one filter at a time, although the 2nd filter applies to the results of the first, so the following would highlight starting from the 4th row (skips 0..2), and highlight for 3 rows (includes 0..2):
$('#t tr:gt(2):lt(3)').css('background-color', '#f00');
Solution 2:
Because :gt() is a jQuery extension... using :gt() cannot take advantage of the performance... For better performance in modern browsers, use $("css-selector").slice(index) instead.
Which says, it's better to use native array method slice
to achieve the goal.
$('ul > li').slice(start, end).css("color", "blue")
Direct link: http://api.jquery.com/gt-selector/
Solution 3:
You could use the jQuery filter; one form of this takes a callback function as an argument — you can write any complex code in it for the selection.