样式改变了,但mychar.className输出还是one,没有变化!触发onclick事件后不是应该输出的是two了嘛!

来源:3-6 控制类名(className 属性)

简单简同学

2018-07-20 09:21

<style>
        .one{
            color: #000;
        }
        .two{
            color: red;
        }
    </style>
</head>
<body>
<p id="con" class="one">这是一个p标签</p>
<form action="">
    <input type="button" value="点击更改" onclick="monifyclass()">
</form>

<script>
    var mychar=document.getElementById("con");
    document.write("p元素的class值为"+mychar.className+"<br>");
    function monifyclass(){
        mychar.className="two";
    }
    console.log(mychar.className);

</script>


写回答 关注

6回答

  • WilliamZhai
    2018-07-20 10:09:33
    已采纳

    console.log(mychar.className)是即使没有鼠标点击响应事件也会执行的,估计就是因为鼠标点击了此函数也没有相应的更新

    你可以在function monifyclass()函数定义里加一句console.log(mychar.className),随着鼠标点击响应此函数后,就会有期待的结果了。

    简单简同学

    嗯,非常感谢!

    2018-07-20 10:23:18

    共 1 条回复 >

  • 深圳马录
    2018-08-18 19:47:57

    html是结构,相当于骨架;

    css是样式;美化页面格式的;

    js是交互;丰富页面内容的!

  • 慕函数4340470
    2018-07-23 10:53:54


    那把 console.log(myChar.className); 放到 function()里面

  • 慕函数4340470
    2018-07-22 20:54:58

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

    这句应该放到 function ()里面


    简单简同学

    嗯,包涵进去会显示two,但是把p标签里的文本给覆盖了

    2018-07-22 21:03:03

    共 1 条回复 >

  • 练习时长两年半的前端实习生
    2018-07-22 17:13:56

    还没学到console.log ,我是老实按照基础的方法进行的

  • WilliamZhai
    2018-07-20 10:09:35

    console.log(mychar.className)是即使没有鼠标点击响应事件也会执行的,估计就是因为鼠标点击了此函数也没有相应的更新

    你可以在function monifyclass()函数定义里加一句console.log(mychar.className),随着鼠标点击响应此函数后,就会有期待的结果了。

JavaScript入门篇

JavaScript做为一名Web工程师的必备技术,本教程让您快速入门

739818 学习 · 9566 问题

查看课程

相似问题