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

我的想法是 如果确定取消设置就给该对象className改为two 这个two类的属性设置跟初始值一样 可是为啥不能实现呢 跪求大神指导

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

.one{

    height:400px;

    width:600px;

border:#333 solid 1px;

padding:5px;}

    


.two{

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

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

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

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

  </form>

  <script type="text/javascript">

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

function changecolor(){

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

    

    mychar.style.color="red";

    mychar.style.backgroundColor="#ccc";

}


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

function changewh(){

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

    

    mychar.style.width="400px";

    mychar.style.height="200px";


}


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

function hide(){

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

    

    mychar.style.display="none";

}


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

function show(){

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

    

    mychar.style.display="block";

}


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

function cancel(){

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

    if(confirm("是否取消设置"))

    {

        mychar.className="two";

    }

}



  </script>

</body>

</html>


正在回答

1 回答

使用F12调试,情况如下:

1. 当你使用了 :

mychar.style.color="red";

id = "txt"的实际样式为:

<div id="txt" class="one" style="color: red;">

2. 当你使用了:

mychar.className="two";

id = "txt"的实际样式为:

<div id="txt" class="two" style="color: red;">

由于 one two 一样,你说样式会改变吗?

建议使用:

mycharremoveAttribute('style');

这样才真正去掉了通过 mychar.style 添加的样式。

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

vaneX

建议去看看样式的优先级。
2016-08-18 回复 有任何疑惑可以回复我~
#2

幕布斯6543490 提问者 回复 vaneX

哦~也就是说内联式的优先级大于嵌入式的优先级 所以起作用的是red 非常感谢 谢谢谢谢~
2016-08-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我的想法是 如果确定取消设置就给该对象className改为two 这个two类的属性设置跟初始值一样 可是为啥不能实现呢 跪求大神指导

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