问答详情
源自:3-6 控制类名(className 属性)

为什么点击按钮后的“p元素class值为:one",点击后不是变成"two"了吗

就是左侧教程里的例子,p的class默认是''one",点击按钮后p的class变成"two",那么输出时”p元素class值为:one",为什么还是one?不应该是two吗?

<style type="text/css">

    .one {width: 200px; background-color:#ccc;}

.two {font-size: 18px; color: #f00;}

</style>

<p class="one" id="con">p文字更改</p>

<input type="button" onClick="modclass()" value="click">

<script type="text/javascript">

   var mychar=document.getElementById("con");

   document.write("P元素class值为:"+mychar.className+"<br>");

   function modclass()

   {

  mychar.className="two";

   }

</script>


提问者:慕粉3578716 2016-07-08 15:41

个回答

  • 幕布斯9040583
    2016-07-10 21:42:32
    已采纳

    代码执行顺序而已,在更改样式后边加上输出的话就可以了,但是之前的输出都会被替换掉


  • qq_乐天c_0
    2016-07-08 22:29:43

    var mychar  是获取object HTMLParagraphElement对象,改变的是mychar的ClassName,但是p的没有改变。我是这样理解的。

  • qq_忆往昔匆匆流年_03604588
    2016-07-08 16:39:31

    因为是先写出,后才修改class名字,你可以将  document.write("P元素class值为:"+mychar.className+"<br>");复制在 mychar.className="two";后面,就会发现写出的是two了

  • 笔端之韵
    2016-07-08 16:01:36

    onclick  写成了 onClick