新手学习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来输出语句,这是我用了一个下午的时间得到的教训。