2

クリックイベントがあり、クリックされた現在の要素と他の要素にクラスを追加したいのですが、それを1行で実行したいと考えています。

私は次のようなことを試しました

JSファイル

$('div').click(function(){
    $(this, 'span').css('background','yellow');
    // could usethe following way but it's not DRY
    // $(this).css('background','yellow');
    // $('span').css('background','yellow');
})​;

HTMLファイル

<div>
    div
</div>
<span>
    span
</span>​

ここに例のフィドルがあります

しかし、うまくいかないので、css方法を繰り返さずにどうすればよいでしょうか。

4

3 に答える 3

3

.add(selector)次のような方法を使用できます。

$(this).add('span').css('background','yellow');
于 2012-12-13T10:01:50.510 に答える
1

<span>要素を$(this)jQuery インスタンスに追加できます。

$(this).add( $('span') ).css('background', 'yellow');

あるいは:

$(this).add('span').css('background', 'yellow');

http://jsfiddle.net/Hhqc8/7/

于 2012-12-13T10:02:00.897 に答える
0

兄弟()を試してください:

$('div').click(function(){
    $(this).siblings('span').css('background','yellow');
})​

例: http://jsfiddle.net/Hhqc8/6/

于 2012-12-13T10:00:53.727 に答える