Javascript 使用jquery从SVG中删除所有类

Javascript 使用jquery从SVG中删除所有类,javascript,jquery,css,Javascript,Jquery,Css,这是我的密码 <!DOCTYPE html> <html> <body> <style> .someClass { fill:gray; } </style> <svg width="400" height="110"> <rect class="someClass" width="100" height="100"/> </svg> <

这是我的密码

<!DOCTYPE html>
<html>
<body>
<style>    
   .someClass {
            fill:gray;
        }
</style>
<svg width="400" height="110">
  <rect class="someClass" width="100" height="100"/>
</svg>
 <svg width="400" height="110">
  <rect class="someClass" width="100" height="100"/>
</svg>
 <svg width="400" height="110">
  <rect class="a" width="100" height="100"/>
</svg>
</body>
</html>

.某个班级{
填充物:灰色;
}

如何删除所有类(.someClass)只需删除文档中的.someClass而不使用id?

您可以使用此选项。有关更多信息,请参见此


不幸的是,您不能在SVG上调用
.removeClass()

改为使用.attr()

其他来源:

此(
$('.someClass').attr('class','';
)将删除class
someClass
中所有元素的所有类


这应该可以做到(保留其他类):

$(“.someClass”)。每个(函数(){
var classes=$(this.attr(“class”).split(“”);
var otherClasses=“”;
for(var i=0;i您可以使用,它将查找所有匹配的元素并删除给定的属性。
在您的情况下,此代码将查找具有class
someClass
的所有元素,并删除属性
class

,此代码的优点是不会留下空属性

$('.someClass').removeAttr( "class" );

提供的答案对您有用吗?当然,这将删除所有类。这对于引用的HTML很好,但是…您可以使用作为第二个参数。这将为您提供旧值,您可以执行
replaceAll()
来删除它。只想添加到该选项中,当前有一个This不保留其他类,例如。“someClass2”。嗯,是的,但比
$('.someClass').attr('class','');
更好。现在,如果“someClass”位于字符串末尾,它不会删除它。而且它仍然会删除“TroublomeClass”。@codehx只需使用
。替换(/\bsomeClass\b/,'')
。对于特定的情况,我认为这实际上比有许多向上投票的答案更正确,因为这将留下一个空属性……如果元素有多个类,会发生什么?@YoannAugen在这种情况下,这个答案是不可取的,但它满足了这个问题。
$('.someClass').attr('class','');
$(".someClass").each(function(){

     var classes = $(this).attr("class").split(" ");
     var otherClasses = "";
     for(var i = 0; i<classes.length; ++i){
        if(classes[i] !== "someClass"){
            otherClasses += classes[i] + " ";
        }
     }

     $(this).attr("class",otherClasses);

});
$('.someClass').removeAttr( "class" );