所以我有这个jQuery代码,可以根据选项的值添加和删除一个类。 它添加了类很好,但没有删除类。
$(document).ready(function() {
$('#mime').change(function(){
var pull = $(this).val(),
div = $('#' + pull);
if($(this).val(pull)) {
div.addClass("active");
} else {
div.removeClass("active");
}
});
});
我做错了什么?我需要提供更多代码吗?我不明白为什么它可以用于添加类而不是删除它。我也使用了.show()和.hide(),它的工作方式相同。显示有效,但隐藏没有。
答案 0 :(得分:2)
你可能意味着:
$(document).ready(function() {
$('#mime').change(function(){
var pull = $(this).val(),
div = $('#' + pull);
if(div.hasClass('active')) {
div.removeClass("active");
} else {
div.addClass("active");
}
});
});
或更好:
$(document).ready(function() {
$('#mime').change(function(){
var pull = $(this).val(),
div = $('#' + pull);
div.toggleClass("active");
});
});
答案 1 :(得分:0)
$(this).val()
返回一个字符串:
if($(this).val()) {
将等于:
if(true)
因此您的代码永远不会到达else
块。你需要在这里使用比较:
if($(this).val() == "some value here") {
但我认为你想要的是:
$(document).ready(function () {
$('#mime').change(function () {
var pull = $(this).val(),
div = $('#' + pull);
$('.active').removeClass("active");
div.addClass("active");
});
});