因为document.writeln()函数是将整个页面清空然后写东西,相当于重写整个页面
而你第一次点下a1后,页面上就只有“<a href='#' onclick='a()'>a<\/a>”,没有原来引用外部脚本的那句话,因而,a()找不到,也就错了
而你第一次点下a1后,页面上就只有“<a href='#' onclick='a()'>a<\/a>”,没有原来引用外部脚本的那句话,因而,a()找不到,也就错了
test.js
function a(){
document.write("<head><script language='javascript' src='Emails.js' type='text\/javascript'><\/script><\/head>");document.writeln("<a href='#' onclick='a()'>a<\/a>");
}
也就是说写了两遍document.write(),所以最后页面上留下的文字只有最后一句
因为document.write()是全部重写
即便前面写了引用外部脚本的,但实际等于没写上
我看了打开的网页后的代码,是有<script language....></script>这条语句的。
在已完成的文档上使用write,writeln方法,不但清除内容,也清除所有脚本对象,你定义的a函数已经被清理了,除非重新加载test脚本
“虽然我用了两遍document.write()
我看了打开的网页后的代码,是有<script language....></script>这条语句的。”
你看不会是右键单击查看源文件这么看的吧???
可以用Maxthon的ViewSource或者用调试器来查看,那就可以了