別のliをクリックしたときに、removeClassがアクティブなクラスを削除しない理由を理解できないようです。それが同じ李だったら私はクラスを削除するために兄弟を使用することができますが、悲しいことに、ここでもうまくいきません。jQuery removeClassがクリック機能で動作しないのはなぜですか?
私が持っているこの単純な問題を理解したいと思います。
$('.r-picker li').click(function(){
$('.r-picker li .data.active').removeClass('active');
$('.r-picker li .data').addClass('active');
});
.active{
color:red;
font-size:25px;
font-weight:bold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="r-picker">
<ul>
<li>
<div class="data">me1</div>
</li>
<li>
<div class="data">me1</div>
</li>
</ul>
</div>
http://jsfiddle.net/Lb65e/125/
私の推測では、それが動作していることです。しかし、 '.removeClass()'に続くステートメントは、あなたがクラスを削除したものを含め、すべての 'li .data'要素に' active'クラスを戻します。 – War10ck