如何禁用已经使用css按元素名称设置样式的元素的样式,并且我不能通过在css中使用#ElementName在html代码中没有显示样式属性的类名来制作相同的样式?
答案 0 :(得分:10)
你可以尝试:
$("selector").removeAttr("style");
但我的问题是:你为什么要删除CSS样式?通常这表明你没有做好任何事情。像有些人会写这样的代码:
$("selector").hover(function() {
$(this).css("background", "red");
}, function() {
// ???
});
问题当然是你不知道如何设置背景以便将其重置为正常。这就是你应该使用类的原因:
div.highlight { background: red; }
使用:
$("selector").hover(function() {
$(this).addClass("highlight");
}, function() {
$(this).removeClass("highlight");
});
问题解决了。
所以我不能评论你的方法,因为你没有提供足够的细节,但在我的经验问题,如“我如何删除一个风格?”是一面红旗。
答案 1 :(得分:1)
您无法禁用已设置的样式,但可以覆盖它们。 inherit
值可用于恢复默认继承的样式的行为。例如:
div { color: red; }
div .exception { color: inherit; }
任何div元素都将获得红色文本,但class =“exception”除外,它将从父级继承文本颜色。
答案 2 :(得分:1)
您无法禁用样式,只能以特异性覆盖该样式。如果你绝对必须,你可以依赖!important指令:
#el { background:red !important; }
否则上帝知道如果你不能/不能访问CSS那么你可以$('#foo').css('background', 'red')
或类似的。
答案 3 :(得分:0)
您可以根据标签的标准重置元素样式,如下所示:
$('#ElementName').css({
'position': 'relative',
'display': 'box',
'with': 'auto',
'height': 'auto',
'color': '#FFFFFF'
});
您可以重命名元素ID:
$('#ElementName').attr('id', 'ElementName2');
这是我最好的猜测。
答案 4 :(得分:0)
几个星期前我遇到了这个问题。每个元素都有一个默认值。只需将其覆盖为该默认值。
即。 width和height的默认值为auto。不是所有都是自动的。溢出的默认值是可见的。