我目前有这段代码根据选择选项显示/隐藏内容。
如何根据选择的选项添加和删除类,但不删除.desarea?
<option value="country1">
<option valye="country2">
<div class="desarea country1">
//Create destination switch
$('#regionselect').change(function(){
var selected = $(this).find(':selected');
$('.regionDetail').fadeOut();
var count = $('.countrylist').length;
$('.countrylist').slideUp(function(){
if(!--count) {
$('.'+selected.val()).slideDown();
}
});
});
答案 0 :(得分:2)
使用jQuery.addClass
和jQuery.removeClass
添加和删除元素中的类名,而不会影响该元素可能具有的其他类。
答案 1 :(得分:2)
这是你想要的吗?
$('#regionselect').change(function(){
var selectedValue = $(this).val();
$('div').removeClass(selectedValue);
});
修改强> 这样更好吗? http://jsfiddle.net/pmEVU/2/
$('#regionselect').change(function(){
var selectedValue = $(this).val();
$('option', this).each(function() {
var currentValue = $(this).val();
if (currentValue == selectedValue)
$('div').addClass(selectedValue);
else
$('div').removeClass(currentValue);
});
});
答案 2 :(得分:1)
removeClass
函数将从匹配元素集中删除任何命名类,例如$('#selector').removeClass('oldClass');
。
相反,addClass
函数会为选择器匹配的元素添加一个新类。