<div id ="wrap" class="www on on on"></div> <script type="text/javascript"> var oWrap=document.getElementById("wrap"); removeClass( oWrap, 'on' )//传实参 function removeClass( obj, cName ){ var arrClass=obj.className.split(" "); //字符串换成数组 for ( var i=0; i<=arrClass.length; i++ ) { if ( arrClass[ i ] == cName ) { arrClass.splice( i, 1 );//清除相同的类名on } } obj.className=arrClass.join(' ');//将剩余的类名通过空格合并 数组转成字符串 }; //<div id="wrap" class="www on"></div>还有一个on没有被清除,为什么???????????? </script>
1 回答
兔子吃点窝边草
TA贡献8条经验 获得超1个赞
因为slice和splice都会改变原数组长度,你在for循环里面加一个 i--,或者for循环里面直接写splice(0,1)或者 slice(0,1)始终删除第一个。
添加回答
举报
0/150
提交
取消