我有一个像这样的CSS类:
.simpleClass {
width: 25px;
}
我有一个匹配元素:
<div class="simpleClass"></div>
我可以通过jQuery动态地将属性display: none;
添加到CSS类.simpleClass
吗?感谢。
答案 0 :(得分:22)
答案 1 :(得分:8)
如果我做对了,你不想给simpleClass
的实例元素赋予属性,但是想要使用JS为整个类(覆盖所有实例)提供额外的属性。
在这种情况下,您可以使用jQuery将样式元素追加到头部,让您有机会添加其他CSS声明。
但是,我会不推荐这个,因为它会导致您的代码和结构变得混乱。
$("head").append("<style> .simpleClass{ display:none; } </style>");
此代码段会为执行此操作时存在的所有display:none
元素提供额外的.simpleClass
属性,并且还会影响每个后来插入的.simpleClass
元素。
答案 2 :(得分:5)
$('.simpleClass').css({display:'none'});
答案 3 :(得分:4)
如果css类中已经不存在该属性,则该属性将被添加到div中。因此,使用新属性切换css类总是更好。例如
$( ".referenceClass" ).switchClass( "oldClass", "newClass");
答案 4 :(得分:3)
样式表在文件中定义,您无法使用JavaScript编辑它。你能做的是:
$(".simpleClass").live("domchanged", function() {
$(this).css("display", "none");
});
但这既不是不是跨浏览器兼容也不是效率(也不是我测试过的)。所以我建议为此目的使用另一个预定义的CSS类。 你为什么还需要这样的东西?
答案 5 :(得分:2)
$(document).ready(function(){
$(.simpleClass).css('display','none');
});