为了账号安全,请及时绑定邮箱和手机立即绑定

有没有人想过在”取消设置“函数中用className重新设置样式,可是运行不出来。。。求助

为什么我在取消设置函数用className的方法重新设置样式为啥不行?

<!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;}
.one{
 background-color:#FFFFFF;
 color:#000000;
 width:400px;
 height:600px;}
</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="setcolor()">  
    <input type="button" value="改变宽高" onClick="setheight()">
    <input type="button" value="隐藏内容" onClick="sethidden()">
    <input type="button" value="显示内容" onClick="setblock()">
    <input type="button" value="取消设置" onClick="noreset()">
  </form>
  <script type="text/javascript">
//定义"改变颜色"的函数
   function setcolor(){
       document.getElementById('txt').style.color="red";
document.getElementById('txt').style.backgroundColor="green";
   }

//定义"改变宽高"的函数
   function setheight(){
       document.getElementById('txt').style.width="300px";
       document.getElementById('txt').style.height="500px";
   }

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

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

//定义"取消设置"的函数
    function noreset(){
        if(confirm("真的要取消设置?")){
		document.getElementById('txt').className="one";
        }
        else{
            document.write("还是你自己的设置!");
        }
    }
  </script>
</body>
</html>


正在回答

1 回答

document.getElementById('txt').addClass = "one"


0 回复 有任何疑惑可以回复我~
#1

慕码人3910529 提问者

还是没有反应
2015-10-05 回复 有任何疑惑可以回复我~
#2

Y_du 回复 慕码人3910529 提问者

可以的,document.getElementById('txt').className="one"; 你看不出效果是因为你的背景本来就是白色,现在你又设置成白色。所以看不出反应,你把背景颜色换一下试试。不好意思,document.getElementById('txt').addClass = "one"这个是我写错了。用你的document.getElementById('txt').className="one";可以的。
2015-10-05 回复 有任何疑惑可以回复我~
#3

慕码人3910529 提问者 回复 Y_du

谢谢啊。在浏览器中最先点击"取消设置"函数是可以运行这个函数的。但是如果你先点击了“改变颜色”“改变宽高”这些函数后再点击“取消设置”函数就没反应了,不知道问题出在哪?
2015-10-05 回复 有任何疑惑可以回复我~
#4

Y_du 回复 慕码人3910529 提问者

这个是因为样式的优先级关系导致的,你先点击了“改变颜色”“改变宽高”这些函数后设置的样式是内联样式,优先级最高。而你点击取消设置设置的样式是外联样式,这样的样式低于内联样式。所以不能被覆盖,如果你想达到你想要的效果,就必须全做成外联的。
2015-10-05 回复 有任何疑惑可以回复我~
#5

慕码人3910529 提问者 回复 Y_du

谢谢了,原来问题出在细节了~
2015-10-05 回复 有任何疑惑可以回复我~
#6

慕码人3910529 提问者

非常感谢!
2015-10-06 回复 有任何疑惑可以回复我~
#7

sprnate 回复 慕码人3910529 提问者

同样的疑问-_-|||
2015-10-06 回复 有任何疑惑可以回复我~
#8

sprnate 回复 Y_du

理解了!感谢
2015-10-06 回复 有任何疑惑可以回复我~
查看5条回复

举报

0/150
提交
取消
JavaScript入门篇
  • 参与学习       739972    人
  • 解答问题       9566    个

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

进入课程

有没有人想过在”取消设置“函数中用className重新设置样式,可是运行不出来。。。求助

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信