通过改类名的方式,不能实现恢复初始值

来源:4-1 编程挑战

rainy_li3676598

2016-07-27 09:58

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

.txtt{

    height:400px;

    width:600px;

border:#333 solid 1px;

padding:5px;

    background-color:#ccc;}

p{

line-height:18px;

text-indent:2em;}

</style>

</head>

<body>

  <h2 id="con">JavaScript课程</H2>

  <div class="txtt" id="txt1"> 

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

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

  </form>

  <script type="text/javascript">


function cwh() {

 document.getElementById("txt1").style.width="100px";

 document.getElementById("txt1").style.height="100px";

 document.getElementById("txt1").style.backgroundColor="#fff";

 }


function cdn() {

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

   if(mymessage==true)

    {document.getElementById("txt1").className="txtt";}

 }




  </script>

</body>

</html>

为什么通过改类名的方式,不能实现恢复初始值?? 请教大神帮我看下代码,谢谢!

写回答 关注

3回答

  • 慕勒6389041
    2016-07-27 11:07:16
    已采纳

    可以 直接document.getElementById("txt1").style=null

    rainy_...

    非常感谢!

    2016-11-29 11:31:30

    共 1 条回复 >

  • go_on_study
    2016-07-27 11:46:26

    cwh() 函数并没有改变 “txt1”的className  所以 cdn() 函数 对 “txt1”的className 重新赋值是没有用的

  • rainy_li3676598
    2016-07-27 10:55:45

    刚才有大神已经回复了, 我百度了一下内联样式,嵌入样式和外部样式的优先级,确实有这个问题。

    所以在这里稍改一点就行了

    document.getElementById("txt1").className="txtt";

    改为

    document.getElementById("txt1").style.cssText="";

    目的就是清空内联css样式, 这样就能恢复之前的 txtt类

JavaScript入门篇

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

739818 学习 · 9566 问题

查看课程

相似问题