取消样式设置使用className无效 txt.className = "t";

来源:4-1 编程挑战

慕码人4847678

2017-02-10 22:43

<!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;}

.t{

    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"> 

     <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="changeColor()" >  

    <input type="button" value="改变宽高" onclick="changeWH()">

    <input type="button" value="隐藏内容" onclick="hideContent()" > 

    <input type="button" value="显示内容" onclick="showContent()">

    <input type="button" value="取消设置" onclick="cancelSet()">

  </form>

  <script type="text/javascript">

//定义"改变颜色"的函数

var txt = document.getElementById('txt');

function changeColor(){

txt.style.color="#ccc";

txt.style.borderColor="red";

}


//定义"改变宽高"的函数

function changeWH() {

txt.style.width = "500px";

txt.style.height="300px";

}

function hideContent() {

//定义"隐藏内容"的函数

txt.style.display="none";

}


function showContent() {

//定义"显示内容"的函数

txt.style.display="block";

}


//定义"取消设置"的函数

function cancelSet() {

    var result = confirm("是否取消设置");

    if(result == true){

        txt.style.display = "block";

        txt.className = "t";

    }

}



  </script>

</body>

</html>


写回答 关注

3回答

  • 不知不觉后知后觉嗯
    2017-02-12 20:22:24

    你那样的话,给div重新添加了一个class为t的样式,但是,如果给一个div同时设置id和class样式的话,按照先后级,这个div的样式应该是id赋予的,这样的话,class等于没有用。

    并且,你那样的话,并没有清除给这个div通过按钮点击增加的样式,需要用.removeAttribute()方法,如下:

    function cancelSet() {
        var result = confirm("是否取消设置");
        if(result == true){
            txt.removeAttribute("style");
        }
    }

  • c0ld_he4rt
    2017-02-11 17:41:03

    http://img.mukewang.com/589edbe70001c85105540050.jpg

    className有效;但是因为优先级问题,样式被你的程序改变的样式覆盖掉了

  • AllySu
    2017-02-11 16:17:47

    看着代码,眼都花了,容我再冥思想想

JavaScript入门篇

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

739817 学习 · 9566 问题

查看课程

相似问题