问答详情
源自:4-1 编程挑战

className不能够覆盖style的属性吗?

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8" />
<title>javascript</title>
<style type="text/css">
body{font-size:12px;}
.txt{
    height:400px;
    width:600px;
    border:#333 solid 1px;
    padding:5px;}
.p{
    line-height:18px;
    text-indent:2em;}
</style>
</head>
<body>
    <h2 id="con">JavaScript课程</h2>
    <div id="txt" class="txt">
        <h5>JavaScript为网页添加动态效果并实现与用户交互的功能。</h5>
      <p>1. JavaScript入门篇,让不懂JS的你,快速了解JS。</p>
      <p>2. JavaScript进阶篇,让你掌握JS的基础语法、函数、数组、事件、内置对象、BOM浏览器、DOM操作。</p>
      <p>3. 学完以上两门基础课后,在深入学习JavaScript的变量作用域、事件、对象、运动、cookie、正则表达式、ajax等课程。</p>
    </div>
    <form>
        <!--当点击相应按钮,执行相应操作,为按钮添加相应事件-->
        <input type="button" value="改变颜色" onclick="changeclr()">
        <input type="button" value="改变宽高" onclick="changesz()">
        <input type="button" value="隐藏内容" onclick="hide()">
        <input type="button" value="显示内容" onclick="show()">
        <input type="button" value="取消设置" onclick="cancel()">
    </form>
    <script type="text/javascript">
        var mychar = document.getElementById("txt");
        function changeclr(){
            mychar.style.color = prompt("请输入文字颜色","red");
            mychar.style.backgroundColor = prompt("请输入背景颜色","yellow");
        }//定义"改变颜色"的函数
        function changesz(){
            mychar.style.width = prompt("请输入宽度","600px");
            mychar.style.height = prompt("请输入高度","400px");
        }//定义"改变宽高"的函数
        function hide(){
            mychar.style.display = "none";
        }//定义"隐藏内容"的函数
        function show(){
            mychar.style.display = "block";
        }//定义"显示内容"的函数
        function cancel(){
            if(confirm("确认恢复?")){
                mychar.className = "txt";
            }
        }//定义"取消设置"的函数
    </script>
</body>
</html>



我的取消设置为什么不能起作用呢?是className不能够覆盖style的属性吗?应该怎么改?

提问者:慕的地7035688 2018-10-15 11:30

个回答

  • qq_凌_27
    2018-10-15 15:35:35
    已采纳

    首先 让你的任务是清除上面设置的样式 可以了解一下removeAttribute() 这个方法,其次就是覆盖的话有优先级问题,而且 你写的 .txt样式里面 没有设置字体颜色 上面给这个类加了颜色了 你就是再把类名换过来也没有效果,覆盖的问题很多 还是用清除的方式比较好

  • 慕的地7035688
    2018-10-15 23:48:08

    removeAttribute()   

    好赞哈哈,学习了!谢谢老师!那个.txt样式是练习题里给的没仔细检查。