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

关于取消设置

取消设置为什么这样写可以,以下是js代码

  <script type="text/javascript">
    function txtcolor(){
        var mytxt=document.getElementById("txt")
        mytxt.style.color="green";
        mytxt.style.backgroundColor="pink";
    }//定义"改变颜色"的函数


    function txtfont(){
        var mytxt=document.getElementById("txt")
        mytxt.style.height="600px";
        mytxt.style.width="200px";
    }//定义"改变宽高"的函数


    function txthide(){
        var mytxt=document.getElementById("txt")
        mytxt.style.display="none";
    }//定义"隐藏内容"的函数


    function txtshow(){
        var mytxt=document.getElementById("txt")
        mytxt.style.display="block";
    }//定义"显示内容"的函数


    function stylecancel(){
        var mycancel=confirm("确定取消设置吗")
        if (mycancel==true)
        {
            document.getElementById("txt").removeAttribute("style");
        }
        else{}
    }

但是最后取消设置if里写mytxt.removeAttribute("style")就不可以了?

提问者:weixin_精慕门2068439 2019-01-17 13:42

个回答

  • qq_与闻悖悖
    2019-01-24 15:41:58

    请你仔细看看你的变量定义在哪?是不是每一个方法内,最后取消你没有定义 var mytxt=document.getElementById("txt"),你让他怎么用mytxt.removeAttribute("style"),你可以直接定义全局变量,或者在取消方法内定义这个变量。

  • 慕桂英303190
    2019-01-18 19:46: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;}

    p{

     line-height:18px;

     text-indent:2em;}

    </style>

      <script type="text/javascript">


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


     function abc(){

         alert("欸我去了");

           var m=document.getElementById("txt");

          m.style.color="#f9b603";

         m.style.backgroundColor="blue";

     }


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

    function b(){

          var m=document.getElementById("txt");

        m.style.width="500px";

        m.style.height="200px";

    }


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

    function c(){

          var m=document.getElementById("txt");

        m.style.display="none";

    }


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

    function d(){

          var m=document.getElementById("txt");

        m.style.display="block";

    }


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

    function e(){

          var m=document.getElementById("txt");

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

            if(i == true){

                 m.removeAttribute("style");

            }

            else 

            null;

         

    }

      </script>

    </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. 学完以上两门基础课后,在深入学习JavaSct的变量作用域、事件、对象、运动、cookie、正则表达式、ajax等课程。</p>

      </div>


      <!--当点击相应按钮,执行相应操作,为按钮添加相应事件-->

        <input type="button" value="改变颜色" onclick="abc()"/>  

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

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

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

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


    </body>

    </htm>

  • 王飞fly
    2019-01-17 14:37:25

    https://img.mukewang.com/5c4021850001eb0916910870.jpg

    https://img1.mukewang.com/5c4021a500018acd14640600.jpg

    当点击按钮的时候,其实就是给txt这个元素设置行内样式。

    当你执行这句代码mytxt.removeAttribute("style");

    元素上的style属性就被移除掉了。当然上面所有的样式就都没有了。

    所以恢复初始,或者让mytxt.style = '';都是可以重置样式的。