Jquery 将CSS类从一个元素复制到另一个元素,但排除特定的类

Jquery 将CSS类从一个元素复制到另一个元素,但排除特定的类,jquery,css,Jquery,Css,我使用以下脚本将类从一个元素复制到另一个元素: jQuery("#copyto").attr("class", jQuery("#copyfrom").attr("class")); #copyfrom如下所示: <div class="blah active"> 我想排除“blah”类,只复制“active” 这有可能吗?选项1(老派): var copyfrom = document.getElementById('copyfrom'), copyto = d

我使用以下脚本将类从一个元素复制到另一个元素:

jQuery("#copyto").attr("class", jQuery("#copyfrom").attr("class"));
#copyfrom
如下所示:

<div class="blah active">

我想排除“blah”类,只复制“active”

这有可能吗?

选项1(老派):

var copyfrom = document.getElementById('copyfrom'),
    copyto   = document.getElementById('copyto');
var old = " "+copyfrom.className+" ";
copyto.className = old.replace(' blah ','');

// alternatively
copyto.className = copyfrom.className.replace(/(^|\s)blah(\s|$)/,'');
copyto.className = copyfrom.className;
copyto.classList.remove( 'blah' );
$('#copyto').attr('class',$('#copyfrom').attr('class')).removeClass('blah');
选项2(新学校):

var copyfrom = document.getElementById('copyfrom'),
    copyto   = document.getElementById('copyto');
var old = " "+copyfrom.className+" ";
copyto.className = old.replace(' blah ','');

// alternatively
copyto.className = copyfrom.className.replace(/(^|\s)blah(\s|$)/,'');
copyto.className = copyfrom.className;
copyto.classList.remove( 'blah' );
$('#copyto').attr('class',$('#copyfrom').attr('class')).removeClass('blah');
选项3(仅jQuery):

var copyfrom = document.getElementById('copyfrom'),
    copyto   = document.getElementById('copyto');
var old = " "+copyfrom.className+" ";
copyto.className = old.replace(' blah ','');

// alternatively
copyto.className = copyfrom.className.replace(/(^|\s)blah(\s|$)/,'');
copyto.className = copyfrom.className;
copyto.classList.remove( 'blah' );
$('#copyto').attr('class',$('#copyfrom').attr('class')).removeClass('blah');

您想删除的是一个类(
blah
),还是多个类(黑名单),还是只想保留一个类?@dippas您部分正确;我在第一篇文章中有一个拼写错误。显示所有3个都在工作。我的错我在第三个选项的测试中出错了。