Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 试图将类应用于通过jquery筛选的元素_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 试图将类应用于通过jquery筛选的元素

Javascript 试图将类应用于通过jquery筛选的元素,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在为我的网站创建一个页面,其中的元素可以在搜索功能下显示为列表 “我的页面”的布局使用“小”和“大”类使元素并排显示。我试图使这些元素交替,因此模式如下: 1-小2-大 3-大4-小 5-小6-大 等等,看完整的列表 我试图通过第n个子项来解决这个问题,但由于我通过jQuery过滤列表,因此我无法将大小类仅应用于显示的活动('.current')类,因此我最终得到了大量已过滤掉div的空白。因此,我试图将其仅应用于列表中的“当前”div 我已经创建了一个不雅观的伪解,但我不能无限重复这个,因

我正在为我的网站创建一个页面,其中的元素可以在搜索功能下显示为列表

“我的页面”的布局使用“小”和“大”类使元素并排显示。我试图使这些元素交替,因此模式如下:

1-小2-大

3-大4-小

5-小6-大

等等,看完整的列表

我试图通过第n个子项来解决这个问题,但由于我通过jQuery过滤列表,因此我无法将大小类仅应用于显示的活动('.current')类,因此我最终得到了大量已过滤掉div的空白。因此,我试图将其仅应用于列表中的“当前”div

我已经创建了一个不雅观的伪解,但我不能无限重复这个,因为像7,11和19这样的数字不适用于方程

我已经复制了下面的相关代码来说明我的意思,正如您可以看到底部停止处的div遵循该模式

:偶数和:奇数也不适用于此,因为“大”需要应用于2、3、6、7、10、11等

我不确定我是不是错过了一些很明显的东西

$(文档).ready(函数(){
if($('.event single').hasClass('current')){
$('.event single.current')。每个(函数(索引){
如果((索引+1)%3==0){
$(this.addClass('large').removeClass('small');
}
})
$('.event single.current').filter(函数(索引){
如果((索引+1)%2==0){
$(this.addClass('large').removeClass('small');
}
})
$('.event single.current').filter(函数(索引){
如果((索引+1)%7==0){
$(this.addClass('large').removeClass('small');
}
})
$('.event single.current').filter(函数(索引){
如果((索引+1)%11==0){
$(this.addClass('large').removeClass('small');
}
})
$('.event single.current').filter(函数(索引){
如果((索引+1)%18==0){
$(this.addClass('large').removeClass('small');
}
})
$('.event single.current').filter(函数(索引){
如果((索引+1)%4==0){
$(this.addClass('small').removeClass('large');
}
})
$('.event single.current').filter(函数(索引){
如果((索引+1)%9==0){
$(this.addClass('small').removeClass('large');
}
})
}
});
。事件信息{
背景颜色:蓝色;
高度:300px;
}
.大{
宽度:60%;
高度:350px;
浮动:左;
边框:2倍实心#fff;
边界半径:50px
}
.小{
宽度:37%;
高度:350px;
浮动:左;
边框:2倍实心#fff;
边界半径:50px
}
.活动清单{
溢出:隐藏
}
.单个事件:不是(.current){
显示:无;
}
.事件单.英雄后迷你img{
宽度:100%;
身高:100%;
对象匹配:覆盖;
边界半径:50px;
}

我想我明白你在想什么了。你应该能够调整你的javascript——看看索引mod 4,如果我理解正确的话,你希望0和3变小

$(文档).ready(函数(){
$('.event single.current')。每个(函数(num,elem){
var mod=num%4;
如果(mod==0 | | mod==3){
$(elem).addClass('small').removeClass('large');
}否则{
$(elem).addClass('large').removeClass('small');
}
});
});
。事件信息{
背景颜色:蓝色;
高度:300px;
}
.大{
宽度:60%;
高度:350px;
浮动:左;
边框:2倍实心#fff;
边界半径:50px
}
.小{
宽度:37%;
高度:350px;
浮动:左;
边框:2倍实心#fff;
边界半径:50px
}
.活动清单{
溢出:隐藏
}
.单个事件:不是(.current){
显示:无;
}
.事件单.英雄后迷你img{
宽度:100%;
身高:100%;
对象匹配:覆盖;
边界半径:50px;
}

如果我是正确的,您有一个每4项重复一次的小模式。一个相当简单的解决方案是循环所有匹配的div,并使用它们的索引模4,根据它们在4个组中的索引设置它们的样式

e、 g

var事件=$('.current');
对于(var i=0;i
是!这正是我想要的。非常感谢。
var events = $('.current');
for(var i = 0; i < events.length; i++)
{
  if(i % 4 == 0 || i % 4 == 3)
    events[i].addClass('small').removeClass('large')
  else
    events[i].addClass('large').removeClass('small')
}