typeof this.className返回是string,但用replace方法没反應,請各位高手賜教,Thank you!<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>
<script type="text/javascript">
window.onload = function(){
var div = document.getElementById("div1");
div.onclick = function(){
if(/bigSize/.test(this.className)){
this.className.replace("bigSize","smallSize");//不能替換字符串
}
else if(/smallSize/.test(this.className)){
this.className.replace("smallSize","bigSize");
}
}
}
</script>
</head>
<body>
<div id="div1" class="bigSize redColor">DIV</div>
</body>
</html>

解决方案 »

  1.   

    this.className=this.className.replace("smallSize","bigSize");
    没有赋值
      

  2.   

    不是replace的问题 是楼主没有注意这个方法的原理 字符串.replace 不会改变原字符串 他的返回值才是改变后的字符串
    换句话说 单纯的this.className.replace("smallSize","bigSize");这个操作不会改变this.className如何修改 1楼已经给出了答案
      

  3.   

    Thank you!小弟是個初學者,菜鳥中的菜鳥,承蒙賜教.