首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

为啥同样是document.write()却出现两个结果?初学JS,请高人帮助解答一下。100分,100分,100分,你必须说明白才给你

2011-12-19 
为什么同样是document.write()却出现两个结果??初学JS,请高人帮助解答一下。100分,100分,100分,你必须说明

为什么同样是document.write()却出现两个结果??初学JS,请高人帮助解答一下。100分,100分,100分,你必须说明白才给你
<html>
<head>
<script>
function addText()
{
document.write("<div style=background-color:#CCCCCC;>这是后追加的文字</div>");
}
</script>
</head>
<body>
<div id="d1">层一</div><br><div id="d2">层二</div>
<button id="bt" onclick="addText();">按钮[向页面追加文字]</button>
<script>
addText();
</script>
</body>
</html>

就是上面的代码,当网页加载时,会出现两个层与用document.write输出的文字,但是当你点击按钮时,就会出现只有document.write输出的文字,两个层和按钮都没有了???同样都是引用那个方法,并且也都是document.write,怎么不一样呢??请高手说明些,我初学,谢谢了


----------------------------------------------------
随便问一下高手,以下代码为什么不好使呢??
<html>
<head>
<script>
function JSClass()
  {
  var myName = 'jsclass';
  this.m_Name = 'JSClass';
  }

  JSClass.prototype.ToString = function()
  {
  alert(myName + ', ' + this.m_Name);
  };

  var jc = new JSClass();
  jc.ToString();
</script>
</head>
<body>

</body>
</html>
这是从网上学习时看到的,是不是javascript不支持class啊??还是什么??请您给说一下。   对了,第一个问题是主要问题,请先答那个,给分时,也是根据那个给的。谢谢大家了

[解决办法]
前一个是在页面加载的时候write的,它会接着前面的内容,当页面加载完后再document.write会覆盖原来页面的内容,所以当文档流结束以后就不能再write了
可以试下这个,先随便开个网页,然后在浏览器地址栏输入
javascript:document.writeln('123');;alert('456');document.close();
看效果。。
[解决办法]
第二个问题.
可以改为两种写法

HTML code
<html > <head > <script > function JSClass(){    this.myName='sclass';  //因为js类的域或者字段不需要var    this.m_Name='JSClass';}JSClass.prototype.ToString = function() {     alert(this.myName +  ',  ' + this.m_Name); }; var jc = new JSClass(); jc.ToString(); </script > </head > <body > </body > </html > 

热点排行