问答详情
源自:3-6 控制类名(className 属性)

我的代码有什么问题嘛,看了半天都没研究出来

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<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()"/>

    <script type="text/javascript">
       function add(){
          var p1 = document.getElementById("p1");
          document.write(p1.className+"<br>");
       }
       function modify(){
          var p2 = document.getElementById("p2");
          p2.className="two";
       }
    </script>
</body>
</html>

感觉我敲的对着啊,为什么出不来东西。。

提问者:啊咧123 2016-05-15 17:48

个回答

  • 传说408崛起
    2016-05-15 18:00:01
    已采纳

     function add(){
              var p1 = document.getElementById("p1");
              document.write(p1.className+"<br>");
           }

    改成

     function add(){
              var p1 = document.getElementById("p1");
              p1.className = "one";
        }


  • 19921009ab
    2016-05-19 17:46:10

    因为<p id="p1">这里的<p>没有设置className,所以 document.write(p1.className+"<br>");这个语句没有意义,而且document.write  是输出文本语句也没有意义,想达到改变样式的效果,就得先给他定义一个className,p1.className = "one";

  • 小高学技术
    2016-05-15 18:05:46

    需要你改变样式,所以p1.className = "one";