Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从jQuery属性选择器的结果中删除jQuery属性选择器定义的类_Javascript_Jquery - Fatal编程技术网

Javascript 从jQuery属性选择器的结果中删除jQuery属性选择器定义的类

Javascript 从jQuery属性选择器的结果中删除jQuery属性选择器定义的类,javascript,jquery,Javascript,Jquery,基本问题是,我只想针对以指定字符串结尾的类的所有元素中以指定字符串结尾的所有类,并删除这些类 此代码不起作用,但它接近我想要的: $('[class$="_active"]').removeClass($('[class$="_active"]')) $(“[class$=”_active“]]”返回一个jQuery.fn.init对象,我可以使用它处理.each(索引、项)。我原以为它会像item.removeClass($('[class$=“\u active”]')一样简单,但下面的代

基本问题是,我只想针对以指定字符串结尾的类的所有元素中以指定字符串结尾的所有类,并删除这些类

此代码不起作用,但它接近我想要的:

$('[class$="_active"]').removeClass($('[class$="_active"]'))
$(“[class$=”_active“]]”返回一个jQuery.fn.init对象,我可以使用它处理.each(索引、项)。我原以为它会像item.removeClass($('[class$=“\u active”]')一样简单,但下面的代码也不起作用:

$('[class$="_active"]').each(function(index,item){
        item.removeClass($('[class$="_active"]'))
})
removeClass函数对my each函数中的项不起作用。此时,我正在考虑对每个项进行字符串化,计算出“\u active”之前的文本,将其与“\u active”一起从字符串中删除,然后返回修改后的结果。但是对于一个我认为有一个我忽略的基本答案的基本问题来说,这变得太复杂了。

您可以使用并获取以
\u active结尾的特定类的所有元素。要首先删除类,您必须使用方法从类列表中提取特定类(仅当一个元素有多个类时才需要)


只有一个可爱的解决方案

$('[class$="_active"]').each(function(i){$(this).removeClass(this.className)})
这是我的JSFIDLE链接,看一看

谢谢。出于某种原因,这适用于除SVG路径之外的所有我的元素。“未捕获的TypeError:this.className.match不是svgpatheElement上的函数。”正在查找原因…@JMcFar:try
$(this.attr('class')。match(/\S+\u active\b/)[0]
Wow。谢谢我真的不明白我刚才做了什么,但那起作用了。我还得进一步调查,但它确实有效!非常感谢。@JMcFar://\S+\u active\b/是正则表达式,用于获取特定的class@JMcFar:
$(this).attr('class')
对于gtting类属性此解决方案的问题是,除非我弄错了,否则它将从目标元素中删除每个类,而不仅仅是以'\u active'结尾的类
$('[class$="_active"]').each(function(i){$(this).removeClass(this.className)})