坑爹的document.write()


     新手学习javascript,都习惯从document.write()入手,这个看起来易懂的语句,如果不好好用的话会给你的后面的学习带来很大的麻烦

     本来想着学习一下innerHTML的使用,于是我写下了如下代码:

 

<html>
<head>
<title>length</title>
<script type="text/javascript">
window.onload = function()
{

var txt="hello world";
document.write (txt.length);
var txt1=document.getElementById("d");
txt1.innerHTML="string";
} 
</script>

</head>

<body>
<div id="d"></div>
</body>
</html>



 


这段看似没有问题的代码,却能给我的程序带来很大的隐患,通过浏览器测试的结果只有:11

这个只是hello world的字符串长度,我调试后发现:

程序一直找不到<div id="d"></div>,之前一直以为是window.onload 拼写之类的问题,

到后来才发现原来是这个坑爹的document.write()惹得祸,因为这个语句重写了document,此时你说接下来的去获取<div id="d"></div>的语句能成功吗?

 在文档加载结束后再调用document.write(),那么输出的内容就会重写整个页面。

document.write来输出语句,这是我用了一个下午的时间得到的教训。

 

发布了32 篇原创文章 · 获赞 67 · 访问量 9万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章