动态添加属性到css类而不是元素

问题描述 投票:0回答:1

我最近遇到了这种情况,我想将css属性添加到类而不是元素中

当我这样做时

    $('.class_with_css').css({display:'none'});

它将样式"display:none"添加到当前具有类"class_with_css"的所有元素中。但就我而言,在执行上述代码之后,我不得不将"class_with_css"类应用于新元素,并希望保留此样式添加。是否有一种方法可以执行此操作(类似于将属性添加到CSS类本身),而无需调用上面的函数?

例如

  1. 两个元素
    <div id=1 class="abc" ></div>
    <div id=2 class="abc" ></div>
  1. 运行代码
    $('.abc').css({display:'none'});
  1. 该元素变为:
    <div id=1 class="abc" style="display: none;"  ></div>
    <div id=2 class="abc" style="display: none;" ></div>
  1. 现在我将abc类添加到这样的元素中
    <div id=3 class="abc" ></div>

是否有一种方法可以使类“ abc”保留样式而不是元素,以便步骤4的元素也具有display:none

javascript html jquery css css-selectors
1个回答
0
投票

没有,没有办法直接实现您想要的。通常,通过已经具有所需更改/属性的CSS类并应用该类而不是CSS属性来完成此操作。

因此,您将拥有例如:

.hide {
    display: none
}

并将类添加到元素:

$('.abc').addClass('hide');
© www.soinside.com 2019 - 2024. All rights reserved.