如何从元素中删除以某些字符结尾的类

时间:2014-07-31 13:38:29

标签: javascript jquery

我使用下面的javascript代码获取元素;

var elems = $("*[class*='-highlight datepick-other-month']");

我想删除以" -highlight"结尾的课程。如;红色突出显示,蓝色突出显示等,来自" elems"。

我该怎么做?所有反馈将不胜感激!

5 个答案:

答案 0 :(得分:2)

您可以使用此代码:

elems.attr('class', function(_, old){
    return $.grep(old.split(/ +/), function(v){
         return !v.match(/-highlight$/);
    }).join(' ');
})

工作小提琴:http://jsfiddle.net/zvcCL/

答案 1 :(得分:0)

您需要使用带选择器的结尾: http://api.jquery.com/attribute-ends-with-selector/

jQuery( "[attribute$='value']" )

然后调用removeClass: http://api.jquery.com/removeclass/

答案 2 :(得分:0)

试试这个:

 $( "a[hreflang|='en']" ).css( "border", "3px dotted green" );

另见attributeContainsPrefix selector

答案 3 :(得分:0)

以下是您选择以关键字结尾的元素的方式:jQuery Ends With

以下是您在elems中选择元素的方法:

$([what],[where])

所以你想要这样做:

var elems = $("*[class*='-highlight datepick-other-month']");
$("*[class$='-highlight']",elems).remove();

这是从文档中删除元素的方法。 如果您想要从elems var中排除这些元素,可以按以下方式排除它们:

var elems = $("*[class*='-highlight datepick-other-month']").not("[class$='-highlight']");

答案 4 :(得分:0)

您可以使用regexp删除这些类:

$.each($("*[class*='-highlight']"), function() {
  $(this)[0].className = $(this)[0].className.replace(/\b.*-highlight\b/g, '');  
});

以下是演示:http://jsfiddle.net/wzQFT/