document.write报错 显示不了内容,这个哪里有错啊,初学。。。

本文讲的是JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)_基础知识,
JavaScript 输出
JavaScript 没有任何打印或者输出的函数。
JavaScript 显示数据
JavaScript 可以通过不同的方式来输出数据:
使用 window.alert() 弹出警告框。
使用 document
JavaScript 输出
JavaScript 没有任何打印或者输出的函数。
JavaScript 显示数据
JavaScript 可以通过不同的方式来输出数据:
使用 window.alert() 弹出警告框。
使用 document.write() 方法将内容写到 HTML 中。
使用 innerHTML 写入到 HTML 元素。
使用 console.log() 写入到浏览器的控制台。
使用 window.alert()
你可以弹出警告框来显示数据:
&!DOCTYPE html&
&h1&我的第一个页面&/h1&
&p&我的第一个段落。&/p&
window.alert(5 + 6);
操作 HTML 元素
如需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(id) 方法。
请使用 "id" 属性来标识 HTML 元素,并 innerHTML 来获取或插入元素内容:
&!DOCTYPE html&
&h1&我的第一个 Web 页面&/h1&
&p id="demo"&我的第一个段落&/p&
document.getElementById("demo").innerHTML = "段落已修改。";
以上 JavaScript 语句(在 &script& 标签中)可以在 web 浏览器中执行:
document.getElementById("demo") 是使用 id 属性来查找 HTML 元素的 JavaScript 代码 。
innerHTML = "段落已修改。" 是用于修改元素的 HTML 内容(innerHTML)的 JavaScript 代码。在本教程中
在大多数情况下,在本教程中,我们将使用上面描述的方法来输出:
下面的例子直接把 id="demo" 的 &p& 元素写到 HTML 文档输出中:写到 HTML 文档
出于测试目的,您可以将JavaScript直接写在HTML 文档中:
&!DOCTYPE html&
&h1&我的第一个 Web 页面&/h1&
&p&我的第一个段落。&/p&
document.write(Date());
请使用 document.write() 仅仅向文档输出写内容。
如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖。
&!DOCTYPE html&
&h1&我的第一个 Web 页面&/h1&
&p&我的第一个段落。&/p&
&button onclick="myFunction()"&点我&/button&
function myFunction() {
document.write(Date());
写到控制台console.log()
如果您的浏览器支持调试,你可以使用 console.log() 方法在浏览器中显示 JavaScript 值。
浏览器中使用 F12 来启用调试模式, 在调试窗口中点击 "Console" 菜单。
&!DOCTYPE html&
&h1&我的第一个 Web 页面&/h1&
console.log(c);
实例 console 截图:
程序中调试是测试,查找及减少bug(错误)的过程。
注意这个console.log() 对于ie8及以下版本会报错,测试后注意注释掉。
以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索javascript
document.write alert、document.innerhtml、innerhtml write、console.log和alert、alert和console,以便于您获取更多的相关知识。
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
开发者常用软件,超百款实用软件一站式提供
云栖社区()为您免费提供相关信息,包括
的信息,还有document.write alert、document.innerhtml、innerhtml write、console.log和alert、alert和console等
,所有相关内容均不代表云栖社区的意见!js 中 document.write()会不会清空原来文档内容? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
- a JavaScript code quality tool
js 中 document.write()会不会清空原来文档内容?
· 345 天前 · 2086 次点击
在 console 输入 document.write()会清空原来的内容,但再次执行的时候会在原来的基础上追加。
这是为什么啊?
10 回复 &| &直到
08:57:34 +08:00
& &345 天前
& &345 天前 via iPhone
document.write()只有在 javascript 首次加载运行的时候执行,如果页面已经加载完毕,执行这个的效果是抹掉整个页面换成 write 的字符串。毕竟你都不知道 write 到什么位置去。
另外带 async 属性的 script 也不能用,用了没有效果。
& &344 天前
@ 按照 MDN 的说话, write 方法必须在一个 open 过的文档里执行,如果没有 open 过,就会帮你 open 。 open 会把当前文档清空。
document.open()
document.write(1)
document.write(2)
document.close()
document.write(3)
在控制台试试。
不要看 W3Schools 了。
& &344 天前
不看 MDN ,谁能猜到有 close 一说。
& &344 天前
W3Schools 也介绍 close 了,不错哦。
& &344 天前
@ 这个我也试过,就是不理解为什么会这样。 MDN 也只是说没有 document.open 就会自动调用。
还有个疑问,页面加载的过程中是不是相当于执行了 document.open()和 document.close()?然后在页面内嵌 document.write()就不会清空内容,后期页面加载后调用就会?
& &344 天前 via Android
当你打开一个页面,浏览器会
1. (前面做了很多事情,与本文无关,省略)
2. 调用 document.open() 打开文档
3. document.write(...) 将下载到的网页内容写入文档
4. 所有内容写完了,就调用 document.close()
5. 触发 dom ready 事件( DOMContentReady)
所以你如果在第 4 步之前 document.write(1) 那么你就直接追加内容到当前位置,
如果你在第 4 步之后 document.write(),那么由于 document 已经 close 了,所以必须重新 document.open() 来打开文档,这一打开,内容就被清空了。
不信你可以这样验证一下:
等页面加载完
2. 在控制台运行 document.write(1),会看到页面清空,只有一个 1
3. 再次运行 document.write(1),会发现页面没有清空, 1 变成了 11 ,因为追加了一个 1
4. 运行 document.close(),这时文档就关闭了。
5. 再次运行 document.write(1),你会发现文档又清空了,变成了 1 。
& &344 天前 via Android
楼上牛逼,完了。
& &344 天前
@ 涨见识了 2333
& &344 天前
@ 介绍的很清楚!
& · & 2624 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.7.5 · 32ms · UTC 02:31 · PVG 10:31 · LAX 19:31 · JFK 22:31? Do have faith in what you're doing.js document.write()使用介绍
字体:[ ] 类型:转载 时间:
一个最基本的JavaScript命令是document.write。这个命令简单地打印指定的文本内容到页面上。为了逐字打印文本,在打印的文本字符串加上单引号
在载人页面后,浏览器输出流自动关闭;在此之后,任何一个对当前页面进行操作的document.write()方法将打开—个新的输出流。它将清除当前页面内容(包括源文档的任何变量或值)、因此.假如希望用脚本生成的HTML替换当前页面,就必须把HTML内容连接起来赋给一个变量、使用一个document.write()方法完成写操作,不必清除文档并打开一个新数据流,一个document.write()调用就可完成所有的操作。 关于document.write()方法还有一点要说明的是它的相关方法document.close()。脚本向窗口(不管是本窗口或其他窗口)写完内容后.必须关闭输出流。在延时脚本的最后一个document.write()方法后面.必须确保含有document.close()方法,不这样做就不能显示图片和表单。并且,任何后面调用的document.write()方法只会把内容追加到页面后,而不会清除现有内容来写入新值。
document.write方法
一个最基本的JavaScript命令是document.write。这个命令简单地打印指定的文本内容到页面上。为了逐字打印文本,在打印的文本字符串加上单引号。
代码如下:document.write('Hello World!');&
上面的js代码将会在页面上显示出"Hello World!" 你可以使用document.write 打印变量。输入变量名称不加上引号,如下:
代码如下:var mytext = "Hello again";document.write(mytext);
注意:如果变量名称加上引号,将会打印出变量名称(不会打印变量值)。你可以使用“+”符号来连接变量值和文本字符串。
代码如下:var colour1 = "purple";&& var colour2 = "pink";document.write('&p&colour1: ' + colour1 + '&br&colour2: ' + colour2 + '&/p&');&
打印结果如下:
colour1: purple colour2: pink
document.write也多用于加载js广告
代码如下:document.write('&scri'+'pt src="http://www.jb51.net/ad.js" type="text/javascript"&&/s'+'cript&');document.write("&scri"+"pt src='http://www.jb51.net/ad.js' type='text/javascript'&&/s"+"cript&");document.write("&scri"+"pt src=\"http://www.jb51.net/ad.js\" type=\"text/javascript\"&&/s"+"cript&");
一般外面用单引号(双引号)连接字符,里面的就要用双信号(单引号),这样就不会错了。当然也可以用转义字符,但这样以后修改比较麻烦。
document.write这种方式加载的js是异步的
代码如下:&!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&&html lang="ru"&&head&&&& &title&&/title&&&& &meta http-equiv="Content-Type" content="text/charset=gb2312"&&&& &&& &/head&&&& &&& &script type="text/javascript"&&&& function load(js){&&& var s = document.createElement('script');& &&& s.setAttribute('type','text/javascript');& &&& s.setAttribute('src',js);& &&& var head = document.getElementsByTagName('head');& &&& head[0].appendChild(s);& &&& }&&& function write(js){&&& document.write('&script type="text/javascript" src="'+js+'" & &\/script&');&&& }&& &&&&&&&&&& load("http://www.jb51.net/js/2011/jquery-1.5.1.min.js"); &&&&&&&&& // write("http://www.jb51.net/js/2011/jquery-1.5.1.min.js");&& &/script&&script&alert($);&/script&问: 用createElement("script")的方式加载,调用函数就会报错,用document.write就不报错?
对于动态创建的js 引用而言 ,针对不同的浏览器有不同的反应&& 楼主的这种写法 对 FF Opera 而言 load 方法是阻塞的 故alert($)能输出,而对IE Chrome Safria 而言 是非阻塞的 所以就会报错& 而document.write的方式,对所有浏览器而言都是阻塞的 即同步的 所以alert($)会输出正确结果
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 document.write 的文章

 

随机推荐