Jquery 如何删除同一元素上的重复类
如何使用JQuery删除同一元素上的重复类 例如:Jquery 如何删除同一元素上的重复类,jquery,duplicates,removeclass,Jquery,Duplicates,Removeclass,如何使用JQuery删除同一元素上的重复类 例如: <a href="#" class="foo foo">link</a> 在这个元素中我只需要一个类,如下所示: <a href="#" class="foo">link</a> 我试过了,但没有成功。谢谢您可以使用删除现有类,并使用以下方法重新添加一个类: $(“a”).removeClass(“foo”).addClass(“foo”) 您可以使用.attr()函数获取所有类:
<a href="#" class="foo foo">link</a>
在这个元素中我只需要一个类,如下所示:
<a href="#" class="foo">link</a>
我试过了,但没有成功。谢谢您可以使用删除现有类,并使用以下方法重新添加一个类:
$(“a”).removeClass(“foo”).addClass(“foo”)代码>
您可以使用.attr()函数获取所有类:
var element = $('a');
var classes = element.attr('class');
然后可以拆分这些类:
var classArray = classes.split(' ');
之后,您可以循环这些类
var temp = Array();
classArray.forEach(function(c){
// check if not exists in temp array
if(temp.indexOf(c) < 0){
// add to temp array
temp.push(c);
}
else {
// remove class (and add again to get it once)
element.removeClass(c).addClass(c);
}
});
var-temp=Array();
forEach(函数(c){
//检查临时数组中是否不存在
if(温度指数(c)<0){
//添加到临时数组
温度推动(c);
}
否则{
//删除类(并再次添加以获得一次)
元素.removeClass(c).addClass(c);
}
});
以此为例。您也可以使用检查元素是否包含要查找的重复类,然后删除不需要的类并重新添加。链接到
变量元素=$('a');
警报(元素属性(“类”);
if(elem.hasClass('foo-foo')){
元素移除类(“foo”)。添加类(“foo”);
警报(元素属性(“类”);
}
如果有多个Entries,问题是什么?因为插件有一个bug,我需要删除重复的类。@T J,很抱歉,我是stackoverflow的新手。我选择Mathias答案是因为它更完整,有一个循环,这就是我所需要的。@DougLN循环是完全不必要的。。!两个答案的作用是一样的,被接受的答案效率要低得多……好吧,我同意你的看法。我很快地看了看,没有意识到这一点。对不起,谢谢你的回答@Dennis R。这就是我所需要的!谢谢大家。我已经包装好了,包括了你们的初始答案,并自我返回了chain-ability。谢谢你们的回答@Mathias
<a href="#" class="foo foo">link</a>
var elem = $('a');
alert(elem.attr('class'));
if (elem.hasClass('foo foo')){
elem.removeClass("foo").addClass("foo");
alert(elem.attr('class'));
}