写了2个document.write,后面的不显示,不知道为什么

kekekaole 2017-02-24 03:33:16
<script type="text/javascript">

window.onload=function(){
引用

var x = document.getElementById("list-title");
var lititles = x.getElementsByTagName("li");
document.write(lititles.length+"<br>");

var y = document.getElementById("sondiv");
var sonuls = y.getElementsByTagName("li");
document.write(sonuls.length+"sss");

}
</script>
这么写 第二个document.write就没有显示
但是如果把第二部分的变量定义在前面,就都可以显示出来了

var x = document.getElementById("list-title");
var lititles = x.getElementsByTagName("li");

var y = document.getElementById("sondiv");
var sonuls = y.getElementsByTagName("li");
document.write(lititles.length+"<br>");
document.write(sonuls.length+"sss");
...全文
279 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
在载人页面后,浏览器输出流自动关闭;在此之后,任何一个对当前页面进行操作的document.write()方法将打开—个新的输出流。它将清除当前页面内容(包括源文档的任何变量或值)、因此.假如希望用脚本生成的HTML替换当前页面,就必须把HTML内容连接起来赋给一个变量、使用一个document.write()方法完成写操作,不必清除文档并打开一个新数据流,一个document.write()调用就可完成所有的操作。 关于document.write()方法还有一点要说明的是它的相关方法document.close()。脚本向窗口(不管是本窗口或其他窗口)写完内容后.必须关闭输出流。在延时脚本的最后一个document.write()方法后面.必须确保含有document.close()方法,不这样做就不能显示图片和表单。并且,任何后面调用的document.write()方法只会把内容追加到页面后,而不会清除现有内容来写入新值。
  • 打赏
  • 举报
回复
http://transcoder.baidu.com/from=1086k/bd_page_type=1/ssid=0/uid=0/pu=usm%402%2Csz%40320_1002%2Cta%40iphone_2_6.0_2_7.3/baiduid=A5EAC4A1ECBB36E1653B23A09481C3E0/w=0_10_/t=iphone/l=3/tc?ref=www_iphone&lid=13322405960294943650&order=2&fm=alop&srd=1&dict=32&h5ad=1&tj=www_normal_2_0_10_title&vit=osres&m=8&cltj=cloud_title&asres=1&title=jsdocument.write%28%29%E4%BD%BF%E7%94%A8%E4%BB%8B%E7%BB%8D_javascript%E6%8A%80%E5%B7%A7_%E8%84%9A%E6%9C%AC%E4%B9%8B%E5%AE%B6&w_qd=IlPT2AEptyoA_yi6I5CsJiY7qsjEQ_i7Iq&sec=19224&di=b888c443dceeedde&bdenc=1&tch=124.186.40.371.1.466&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_yRWR7f5o5ijva02IMRuWzDzNTrIBZGedTLNvsVJbK&clk_info=%7B%22srcid%22%3A%221599%22%2C%22tplname%22%3A%22www_normal%22%2C%22t%22%3A1488328655096%2C%22xpath%22%3A%22div-a-h3%22%7D
kekekaole 2017-02-24
  • 打赏
  • 举报
回复
这个回答我看的不是特别明白 ,比如说我在最后一个输出之前定义一个不相关的变量 ,还是可以输出2次 感谢上面的回答,如果之后有回答,麻烦大神们针对我这个具体情况解答,再次感谢 var x = document.getElementById("list-title"); var lititles = x.getElementsByTagName("li"); var y = document.getElementById("sondiv"); var sonuls = y.getElementsByTagName("li"); document.write(lititles.length+"<br>"); var s; document.write(sonuls.length+"sss");
天际的海浪 2017-02-24
  • 打赏
  • 举报
回复
document.write()一般只在页面加载完成之前使用。 当页面加载完成之后,文档流会自动关闭,就不要用document.write()了 页面加载完成之后再使用document.write()就会重新创建一个新的页面。 这个新页面的源代码就是document.write()输出的字符串。 已经是新的页面了,上个页面的代码肯定不再执行了

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧