首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用相同的名称重命名多个css

用相同的名称重命名多个css
EN

Stack Overflow用户
提问于 2015-05-15 05:05:21
回答 3查看 130关注 0票数 0

我在一个模板化的系统中工作,在这个系统中我可以实现代码,但我不能修改文件的核心。我的层是这样堆叠的:

代码语言:javascript
复制
<div class="layer1">
    <div class="layer2">
        <div class=" layer3">
            <div class="layer4">
            </div>
        </div>
    </div>
</div>
<div class="layer1">
    <div class="layer2">
        <div class=" layer3">
            <div class="layer4">
            </div>
        </div>
    </div>
</div>
<div class="layer1">
    <div class="layer2">
        <div class=" layer3">
            <div class="layer4">
            </div>
        </div>
    </div>
</div>

正如您所看到的,我的类都具有相同的名称(layer1、layer2等)。我想知道是否有办法通过使用Javascript、Jquery或任何其他在线客户端库来修改CSS类名称,例如,第一个layer1变成level1,下面的layer1变成level 2?

谢谢你的回答!

EN

回答 3

Stack Overflow用户

发布于 2015-05-15 05:09:20

有许多不同的方法可以做到这一点:

解决方案1:

使用addClass()removeClass()

代码语言:javascript
复制
$(".layer1").removeClass('old_class').addClass('new_class');

用旧类替换old_class,用新类替换new_class

解决方案2:

如果您能够通过ID获取元素

您可以使用.attr()设置类

代码语言:javascript
复制
$("#id").attr('class', 'new_class');
票数 0
EN

Stack Overflow用户

发布于 2015-05-15 05:15:18

正如其他人已经说过的那样,jQuery实际上做了你想要的事情。

只要你不知道你的“层”的数量,你最好使用find all elements by classname substring

代码语言:javascript
复制
$('*[class^="layer"]')

然后,您可以get the list of the element classes并将旧名称更改为新名称。

票数 0
EN

Stack Overflow用户

发布于 2015-06-14 07:57:35

使用className的全面解决方案:

代码语言:javascript
复制
 var elem=document.querySelectorAll('[class^="layer"]') ;

 for(i in elem){    
 x = elem[i].className;
 var y=x.replace("layer" , "level");
 elem[i].className=y||x; 
 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30247313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档