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