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个都在工作。我的错我在第三个选项的测试中出错了。