我有一个由cms生成的类js-bootstrap3。我需要做的是检查contains元素是否仅具有js-bootstrap3.unwrap()内容,但是如果该元素具有多个包含js-bootstrap3的类,那么我正尝试删除该类。

jsFiddle

$('.jsn-bootstrap3').each(function(){
    if( $(this).attr('class') !== undefined && $(this).attr('class').match(/jsn-bootstrap3/) ) {
        console.log("match");
        $(this).contents().unwrap();
        $(this).removeClass('jsn-bootstrap3');
    }
});


这似乎只是将js-bootstrap3作为类检测到任何元素并将其解包。

最佳答案

this.className是一个字符串,其中包含元素的所有类(以空格分隔),因此,如果不只是"jsn-bootstrap3",您将知道它具有多个类:

$('.jsn-bootstrap3').each(function(){
    if( $.trim(this.className) !== "jsn-bootstrap3") {
        // Just jsn-bootstrap3
        $(this).contents().unwrap();
    } else {
        // More than just jsn-bootstarp3
        $(this).removeClass('jsn-bootstrap3');
    }
});

10-06 10:59