所以我在
saw this question以前在SO,它让我想到了。
基本上OP有这样的一些
- <div>a</div>
- <div>b</div>
- <div>c</div>
- <div>d</div>
- $('div').each( function() {
- //do something different based on whether even or odd div
- if ($(this) == ':even') {} //invalid markup I know!
- else {}
- });
有没有办法告诉里面的.each()你的当前元素是一个奇怪甚至甚至实例?
有jQuery的.filter方法,但是当它有一个元素时,它总是返回true。
我也意识到你可以使用第n个孩子的选择器或者以其他方式设置,但我很好奇这个具体的情况。
解决方法
对
.each
的回调通过元素的索引和元素:
- $('div').each(function(i,el) {
- // As a side note,this === el.
- if (i % 2 === 0) { /* we are even */ }
- else { /* we are odd */ }
- });