私はブートストラップカルーセルを使用していますが、testing
から.link-txt
にクラスを追加しました。 item
は.active
です。しかし、.link-txt
からクラスを削除したい場合は、.active
が削除されます。 item
。私はクラスを削除することはできていないようです。ここhasClass
ブートストラップ項目がアクティブな場合divに追加してから削除する
これまでのところ、私のjQueryのある場合:
$('#home-carousel').on('slid.bs.carousel', function() {
if ($('.item').hasClass('active')) {
$('.active .link-txt').addClass('testing');
} else {
$('.link-txt').removeClass('testing');
}
});
HTML:クラスを削除することができないと並んで
<?php
if(have_rows('carousel')):?>
<div id="home-carousel" class="carousel bs-slider fade control-round indicators-line" data-ride="carousel" data-interval="6000">
<div class="carousel-inner" role="listbox">
<?php
$i=0;
while (have_rows('carousel')) : the_row();?>
<div class="item <?php if($i === 0) { ?> active <?php } ?>" style="background-image:url(<?php the_sub_field('image'); ?>);">
<div class="carousel-caption">
<div class="col-md-6 ">
<h1><a href="<?php the_sub_field('link');?>"><?php the_sub_field('heading');?></a></h1>
<a href="<?php the_sub_field('link');?>" class="link-txt">View</a>
</div>
</div>
</div>
<?php
++$i;
endwhile; ?>
</div>
</div>
<?php endif;?>
testing
.... .active
の最初のスライドがHTMLに追加されましたが、これはjQueryで検出されないようです。クラスが2番目のスライドまで追加されないことを意味します。最初のスライドで.active
を検出し、.link-txt
にテストを追加する方法はありますか?
Here is Fiddle問題を示しています。
addClass( 'テスト ')、 '$(' リンク-txtを。')で、あなたは特定のものを選択しなかったので、'あなたはすべての要素.link-テキストにクラスを追加します。 – Doomenik