0

例:

<div>
    <A><span class="bla">test</span></a>
    <A><span class="bla">test test</span></a>
    <A><span class="bla">test test test</span></a>
</div>

私たちがこのようなことをすることができるかどうか疑問に思っています:

$('span.bla').click(function(){
   $(this).addClass('selected').others_with_this_class().removeClass('selected');
});

または、実際には2つの異なるセレクターを作成し、それらを1つずつ処理する必要があります。

編集

アイデアを持ってみんなに感謝します、私はこのようなことをしていることに気づきました::-)

if (!$(this).hasClass('selected'))
$(this).addClass('selected').parent().siblings('a').children('.selected').removeClass('selected');
4

4 に答える 4

4

「1つずつ処理する」とはどういう意味ですか?

.selectedアイテムからクラスを削除してから、クリックしたアイテムにクラスを追加してみませんか。

$('span.bla').click(function(){
   $('.selected').removeClass('selected');
   $(this).addClass('selected');
});
于 2012-05-29T21:40:40.660 に答える
2

クラスをすべてからクリアしてから、単一のクラスに追加します。

$('span.bla').click( function() {
    $('span.bla').removeClass('selected');
    $(this).addClass('selected');
}
于 2012-05-29T21:40:17.897 に答える
1

使用$.siblings():

$('span.bla').click(function(){
    $(this).addClass('selected')
           .parent()
           .siblings()
           .children('span')
           .removeClass('selected');
});

これにより、スパン ( <a>) の親、そのすべての兄弟、および<span>それらの兄弟の子であるすべての が検索され、それらに追加.currentされます。

于 2012-05-29T21:40:03.207 に答える
1
$('span.bla').click(function(){
   $('span.bla').removeClass('selected');
   $(this).addClass('selected');
});
于 2012-05-29T21:40:48.680 に答える