<!DOCTYPE html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<html>
<body>
<p id="main">hello world!</p>
<p>试一试<p>
<script>
x=document.getElementById("main");
document.write('输出:' + x.innerHTML)
</script>
</body>
</html>
则输出结果为:
hello world!
试一试
输出:hello world!
核心问题是:在document.write中输出部分,原型代码是
<script>
x=document.getElementById("intro");
document.write('<p>id="intro" 的段落中的文本是:' + x.innerHTML + '</p>');
</script>
之前一直不理解为什么在document.write中输出的部分是怎么回事,这里注意几个易出错的点:
1. p标签是可以删除的,可要可不要对输出结果没有什么影响
2. 其中+号前面的部分一直到冒号后面的单引号其实是相对于p标签开始的那个单引号的,因为前面都属于字符串输出,所以只需要用引号把字符串部分括住即可。后面的x.innerHTML是另外接着字符串输出的变量部分,所以不需要用引号括住。与此相对应的部分最后一个p标签的收尾还是用引号括住是因为还是把这个p标签的收尾当做了字符串的输出,所以加上了。
3. x.innerHTML后面如果没有内容就不需要后面那个+号了,而且+号与字母之间如果没有加空格是不会报错的,加上空格只是为了增加代码的可阅读性。
以上三点是比较容易出错的地方,汇总一下注意注意。