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

无法清除样式,请问哪里出错了

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>className属性</title>
<style>
    body{ font-size:16px;}
    .one{
        border:1px solid #eee;
        width:230px;
        height:50px;
        background:#ccc;
        color:red;
    }
    .two{
        border:1px solid #ccc;
        width:230px;
        height:50px;
        background:#9CF;
        color:blue;
    }
    </style>
</head>
<body>
    <p id="p1" > JavaScript使网页显示动态效果并实现与用户交互功能。</p>
    <input type="button" value="添加样式" onclick="add()"/>
    <p id="p2" class="one">JavaScript使网页显示动态效果并实现与用户交互功能。</p>
    <input type="button" value="更改外观" onclick="modify()"/>
    <input type="button" value="清除样式" onclick="clean()"/>
    <script type="text/javascript">
       function add(){
          var p1 = document.getElementById("p1");
          p1.className = "one";
       }
       function modify(){
          var p2 = document.getElementById("p2");
          p2.className = "two";
       }
       function clean(){
         var deletestyle = confirm('是否清除样式')
         if(deletestyle == true){
             document.getElementById("p2").removeAttribute("style");
         }
        else{
            alert("啥都不做");
        }
       }
    </script>
</body>
</html>


正在回答

5 回答

removeAttribute()方法用来删除指定的属性,是.style的,在<style></style>标签里面改的样式好像重置不了

不知道是不是这样

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

烜烜 提问者

http://www.w3school.com.cn/tiy/t.asp?f=jsref_element_removeattribute 我看了一下W3C,是这样说的: removeAttribute() 方法删除指定的属性。 此方法与 removeAttributeNode() 方法的差异是:removeAttributeNode() 方法删除指定的 Attr 对象,而此方法删除具有指定名称的属性。结果是相同的。同时此方法不返回值,而 removeAttributeNode() 方法返回被删除的属性,以 Attr 对象的形式。
2016-01-23 回复 有任何疑惑可以回复我~
#2

烜烜 提问者

非常感谢!
2016-01-26 回复 有任何疑惑可以回复我~

楼主我知道了 ,在<style></style>标签里面改的样式是清除不了的,可是你知道怎么改吗

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

请问楼主这个问题如何解决啊,我也是有这个困扰

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

也许是因为。。你removeAttribute("style"),style的值没有写在P1和P2标签里面。是写在head上面的。所以。我觉得可以这样写

function clean(){

         var deletestyle = confirm('是否清除样式')

         if(deletestyle == true)

         {

             p1.className = "";

             p2.className = "one";

         }

        else{

            alert("啥都不做");

        }


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

烜烜 提问者

也就是说removeAttribute("style"),能清除行内样式,不能清除内联样式吧:)
2016-01-23 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

无法清除样式,请问哪里出错了

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