document.write()的⽤法
⼀、定义和⽤法
⽂档节点的write()⽅法⽤于写⼊⽂档内容,可以传多个参数,写⼊的字符串会按HTML解析。
语法:document.write()
参数:字符串,可以传多个字符串参数
返回值:undefined
⼆、注意事项
如果document.write()在DOMContentLoaded或load事件的回调函数中,当⽂档加载完成,则会先清空⽂档(⾃动调⽤document.open()),再把参数写⼊body内容的开头。
在异步引⼊的js和DOMContentLoaded或load事件的回调函数中运⾏document.write(),运⾏完后,最好⼿动关闭⽂档写⼊(document.close())。
三、⽰例代码
在head中运⾏document.write(),则参数写在body内容的开头。
<!-- 运⾏前 -->
<head>
<script>
document.write('<p>test</p>');
</script>
</head>
<body>
<h2>write()</h2>
</body>
<!-- 运⾏后 -->
<head>
<script>
document.write('<p>test</p>');
</script>
</head>
<body>
html document是什么<p>test</p>
<h2>write()</h2>
</body>
在body中运⾏document.write(),则参数写在运⾏的script标签后⾯
<!-- 运⾏前 -->
<div>
<script>
document.write('<p>test</p>');
</script>
<p>content</p>
</div>
<!-- 运⾏后 -->
<div>
<script>
document.write('<p>test</p>');
</script>
<p>test</p>
<p>content</p>
</div>
同步引⽤外部js,参数也是写在运⾏的script标签后⾯
// syncWrite.js
document.write('<p>test</p>');
<!-- syncWrite.html -->
<!-- 运⾏前 -->
<body>
<script src="syncWrite.js"></script>
<p>content</p>
</body>
<!-- 运⾏后 -->
<body>
<script src="syncWrite.js"></script>
<p>test</p>
<p>content</p>
</body>
异步引⽤外部js,必须先运⾏document.open()清空⽂档,然后才能运⾏document.write(),参数写在body内容的开头。
如果不先运⾏document.open(),直接运⾏document.write(),则⽆效
// asyncWrite.js
document.open();
document.write('<p>test</p>');
document.close();
<!-- asyncWrite.html -->
<!-- 运⾏前 -->
<body>
<script src="asyncWrite.js" async></script>
</body>
<!-- 运⾏后 -->
<body>
<p>test</p>
</body>
如果document.write()在DOMContentLoaded或load事件的回调函数中,则不管是在head中,body中,同步的js中,异步的js中,都会先清空⽂档(⾃动调⽤document.open()),然后运⾏document.write(),参数写在body内容的开头
<!-- 运⾏前 -->
<body>
<script>
window.addEventListener('load', function(){
document.write('<p>test</p>');
document.close();
}, false);
</script>
</body>
<!-- 运⾏后 -->
<body>
<p>test</p>
</body>
document.write()也能写⼊含有script标签的字符串,但是需要转义。写⼊的script标签中的内容会正常运⾏。
<!-- 运⾏前 -->
<script>
document.write('<script>document.write("<p>test</p>");<\/script>'); </script>
<!-- 运⾏后 -->
<script>
document.write('<script>document.write("<p>test</p>");<\/script>'); </script>
<script>document.write("<p>test</p>");</script>
<p>test</p>
document.write()可以传⼊多个参数。
<!-- 运⾏前 -->
<body>
<script>
document.write('<h2>multiArgument</h2>','<p>test</p>');
</script>
</body>
<!-- 运⾏后 -->
<body>
<script>
document.write('<h2>multiArgument</h2>','<p>test</p>');
</script>
<h2>multiArgument</h2>
<p>test</p>
</body>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论