我想在jQuery元素集中选择每个nth. 例如. ul liA/li liB/li liC/li liD/li liE/li liF/li liG/li/ul 如何选择每个第三个(C和F)元素? 如何选择同一组中不是每三个(A,B,D,E,G)的所有其他元素? 您可以使用
例如.
<ul> <li>A</li> <li>B</li> <li>C</li> <li>D</li> <li>E</li> <li>F</li> <li>G</li> </ul>
>如何选择每个第三个(C和F)元素?
>如何选择同一组中不是每三个(A,B,D,E,G)的所有其他元素?
$.grep
函数将集合中的每个元素及其索引(基于0)传递给回调函数.因此,您需要决定要保留哪一个:
var elements = $('<ul><li>A</li><li>B</li><li>C</li><li>D</li><li>E</li><li>F</li><li>G</li></ul>').find('li'); var result = $.grep(elements, function(element, index) { return (index + 1) % 3 == 0; });
如果你想要其他元素只是反转条件:(索引1)%3!= 0
另一种可能是使用.filter()
功能:
var result = $('<ul><li>A</li><li>B</li><li>C</li><li>D</li><li>E</li><li>F</li><li>G</li></ul>') .find('li') .filter(function(index) { return (index + 1) % 3 == 0; });