为了简化这一点,我有两个“精选”块,第一个加载了features-active
类。
在计时器(在jQuery中)之后,我想从第一个元素中删除features-active
类,并将其应用于.features
类的 next 块
这是我的HTML:
<!-- Feature 1 -->
<div class="span3">
<div class="features drop-shadow features-active">
<h4><strong>SUPER</strong> RESPONSIVE</h4>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Lorem ipsum dolor sit amet...</p>
</div>
</div>
<!-- Feature 2 -->
<div class="span3">
<div class="features drop-shadow">
<h4><strong>SUPER</strong> RESPONSIVE</h4>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Lorem ipsum dolor sit amet...</p>
</div>
</div>
我唯一的问题(我今天感到迟钝)是 - 在我的计时器触发后,如何选择.features
之后的下一个div.features-active
元素?
这是我的jQuery不起作用:
var nextFeature = $('div.features-active').next('div.features');
答案 0 :(得分:3)
您需要在节点的父级上应用.next()
。
var nextFeature = $('div.features-active').parent('div.span3')
.next('div.span3')
.children('div.features');
答案 1 :(得分:1)
没有下一个.features
,他们有不同的父母?
var nextFeature = $('div.features-active').closest('.span3')
.next('.span3')
.find('div.features')
答案 2 :(得分:1)
使用.next(),。parent(),。childrenren(),。find()等代替所有浪费的开销,只需使用特色元素的索引。
var idx = 1;
setInterval(function () {
$('div.features').removeClass('features-active');
$('div.features').eq(idx).addClass('features-active');
idx++;
}, 2000);
<强> jsFiddle example 强>
答案 3 :(得分:0)
我认为您正在寻找:http://jsfiddle.net/umTPw/
setTimeout(function () {
$('.features').removeClass('features-active').promise().done(function () {
$(this).parent().next().find('.features').addClass('features-active');
});
}, 2000);
答案 4 :(得分:-1)
这个怎么样:
var nextFeature = $('div.features-active').next().find('div.features');