使用jQuery过滤一个与其他类相同的div

时间:2012-01-28 16:25:07

标签: jquery select filter

这是fiddle 正如您所看到的那样,当选择下拉列表中的颜色 all 时,带有“.box”类的div会改变颜色。
是否可以一次只更改一个div,离开其他人他们是谁?将有数百个这样的,所以改变每个的类/ ID不是一个真正的选择。
我尝试了一堆没有运气的过滤器。

3 个答案:

答案 0 :(得分:2)

您可以为context提供$('.box')$(this).parent()

$('select').change(function(){
    $('.box', $(this).parent()).removeClass('red green blue').addClass(
        $(this).find('option:selected').text().toLowerCase()
    );
})
.change();

答案 1 :(得分:1)

将您的js代码更改为:

$('select').change(function(){
    $(this).siblings('.box').removeClass('red green blue').addClass(
        $(this).find('option:selected').text().toLowerCase()
    );
})
.change();

答案 2 :(得分:0)

使用.prev( selector ),在您的示例中将是:

$('select').change(function() {
  $(this).prev('.box').addClass();
});

实例:http://jsfiddle.net/nFGRa/2/