问题描述
typeofthis.className返回是string,但用replace方法没反應,請各位高手賜教,Thankyou!<html><head><title>Javascript</title><style>.bigSize{width:250px;height:250px}.smallSize{width:150px;height:150px}.redColor{background-color:red}.blueColor{background-color:blue}</style><scripttype="text/javascript">window.onload=function(){vardiv=document.getElementById("div1");div.onclick=function(){if(/bigSize/.test(this.className)){this.className.replace("bigSize","smallSize");//不能替換字符串}elseif(/smallSize/.test(this.className)){this.className.replace("smallSize","bigSize");}}}</script></head><body><divid="div1"class="bigSizeredColor">DIV</div></body></html>
解决方案
解决方案二:
this.className=this.className.replace("smallSize","bigSize");没有赋值
解决方案三:
不是replace的问题是楼主没有注意这个方法的原理字符串.replace不会改变原字符串他的返回值才是改变后的字符串换句话说单纯的this.className.replace("smallSize","bigSize");这个操作不会改变this.className如何修改1楼已经给出了答案
解决方案四:
Thankyou!小弟是個初學者,菜鳥中的菜鳥,承蒙賜教.