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

函数内部没有获取p1、p2节点,为何能够设置class属性

<!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");

     p1.className = "one";

  }

  function modify(){

   //  var p2 = document.getElementById("p2");

     p2.className = "two";

  }

</script>

</body>

</html>


正在回答

3 回答

 p1.className = "one";


 p2.className = "two";


这两句就可以获取class属性,因为本文将变量名和样式名写成一样的,所以很多人看着很绕,这里的p1和p2被认为是元素id了,所以才能设置元素,但实际上我们的认为是变量。建议你将变量给修改,就知道结果了

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

深山小童 提问者

非常感谢!
2016-06-28 回复 有任何疑惑可以回复我~
#2

深山小童 提问者

p1、p2如果没定义,则相当于保存id名为p1、p2的对象的全局变量。即可以直接通过id名直接获取相关节点,但听说会存在兼容问题。
2016-06-28 回复 有任何疑惑可以回复我~

可能是缓存问题

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

深山小童 提问者

新的浏览器打开也是一样
2016-04-10 回复 有任何疑惑可以回复我~

var p1 = document.getElementById("p1");

 var p2 = document.getElementById("p2");这两段语句是通过ID获取了P1和P2的元素,如何然后再去修饰元素。

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

深山小童 提问者

我将这两句话已经注释掉了
2016-03-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

函数内部没有获取p1、p2节点,为何能够设置class属性

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