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

关于className的问题

求助~,下面这个程序,为什么输出的时候,background和width,height并没有改变??

<style type="text/css">

.message{   
 width:200px;
 height:100px;
 background-color:#CCC;}
 
</style>
</head>
<body>
<script type="text/javascript">
document.write("输入要创建的文本<br/>");
  var main1=document.getElementsByTagName("body");
  main1.appendChild(creat());
  function creat(){
    //   var hh=prompt("shuru");
      var innValue=document.getElementById("inn").value;
      var p=document.createElement("p");
      p.innerHTML=innValue;
      p.className="message";
      p.style.color="red";
      document.write(p.innerHTML);
  }

</script>
<input id="in" type="button" onclick="creat()" value="点击创建文本"/>
<input id="inn" type="text" />
</body>

正在回答

2 回答

你需要将创建的节点添加到当前的body下面,要不然在内存里面,当然没有显示效果啦。document.body.appendChild(p);

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

慕粉1818511579 提问者

谢谢,我知道原因了,但还有一个问题就是 document.getElementsByTagName("body").appendChild(p); 这种格式为什么不对呢??
2016-12-19 回复 有任何疑惑可以回复我~
#2

DarkAleX 回复 慕粉1818511579 提问者

body元素不用通过document.getElementsByTagName()方法获得,直接通过document.body属性使用就行了.而且返回的是一个数组,你要加上"[0]"取出第一个元素。
2016-12-19 回复 有任何疑惑可以回复我~
#3

DarkAleX 回复 DarkAleX

document.getElementsByTagName("body")返回的是一个数组。
2016-12-19 回复 有任何疑惑可以回复我~
#4

慕粉1818511579 提问者

谢谢~~~
2016-12-21 回复 有任何疑惑可以回复我~
查看1条回复

<style type="text/css">

.message{    

 width:200px;

 height:100px;

 background-color:#CCC;}

 

</style>

</head>

<body>

<script type="text/javascript">

document.write("输入要创建的文本<br/>");

 var main=document.body;

 function creat(){

  var innVaule=document.getElementById("inn").value;

  var newp=document.createElement("p");

  newp.innerHTML=innVaule;

  newp.className="message";

  newp.style.color="#c00";

  main.appendChild(newp);

 }

</script> 

<input id="in" type="button" onclick="creat()" value="点击创建文本"/>

<input id="inn" type="text" />

</body>


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

举报

0/150
提交
取消

关于className的问题

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