2

我有一个点击事件,我想将一个类添加到点击的当前元素加上另一个元素,我想在一行中做到这一点。

我尝试过类似的东西

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 回答