if(prev_clicked)
{   
    $("#accordion li a.category").css('background-image', 'url("img/off_all_channel.png")');                    
    $("#accordion li a.comment").css('background-image', 'url("img/on_all_online.png")');                   
    $(".icha0").removeProperty("background-color");
    $(".icha0").removeProperty("opacity");
}
else
{   
   $(".icha0").css("background-color","#D5D5D2");
   $(".icha0").css("opacity","0.70");
}

我试图删除我添加的两个css属性,但似乎不工作。 尽管吗?


当前回答

我有这个问题,但我没有看到任何解决方案,在这里满足op。大多数解决方案建议摆脱整个风格属性,这是不值得的。

我使用jQuery的道具方法。

var styleObject = $('my-selector').prop('style'); 

styleObject.removeProperty('background-color');

其他回答

删除CSS内嵌属性使用:

$('.className').css({propertyName: ''});

要删除元素的整个内联样式,请使用:

$('.className').removeAttr('style');

我还发现了这个建议,从样式(单独的文件)使用中删除CSS属性:

$('.className').style.propertyName='';

但是我根本不能让它工作,所以我把它放在这里只是供参考。

你也可以使用.css()来删除css属性,就像这样:

$(".icha0").css("background-color","");
$(".icha0").css("opacity","");

正如jquery文档中提到的:

将样式属性的值设置为空字符串-例如$('#mydiv').css('color', ") -如果该属性已经被直接应用,则从元素中删除该属性,

备选方案,可以解决一些问题。

给元素添加一个新类,并赋予属性值inherit !important,例如:

css

.clearCSS {
    background-color: inherit !important;
}

jquery

$(".icha0").addClass('clearCSS'); 

这实际上是一个复制粘贴从这个答案,我用它来清除CSS样式,我添加与jQuery在以前执行的函数。

删除CSS内嵌属性使用:

$('.className').css({propertyName: ''});   

要删除元素的整个内联样式,请使用:

$('.className').removeAttr('style');

或通过ID:

$('#idName').removeAttr('style');

我有这个问题,但我没有看到任何解决方案,在这里满足op。大多数解决方案建议摆脱整个风格属性,这是不值得的。

我使用jQuery的道具方法。

var styleObject = $('my-selector').prop('style'); 

styleObject.removeProperty('background-color');