document.write(mychar)和document.write(mychar.innerHTML)有什么区别呢?这两个不是都可以显示么?
首先。这个任务中的变量mychar代表h2元素,因为任务中:var mychar=document.getElementById("con"); document.getElementById()取出来的是元素,即h2元素。
所以document.write(mychar)表示输出元素,会显示出[object HTMLHeadingElement],意思是对象的html的标题元素。
document.write(mychar.innerHTML)表示将元素的内容以html语言显示出来,<h2 id="con">javascript</h2>以html语言的形式显示会得到javascript。
1-7中的变量mychar代表字符串"javascript",所以document.write(mychar,)输出的就是javascript,而这个任务中的mychar代表h2元素,mychar在两个任务中所指代的对象不同。
可是在1-7课程中有这样的代码,就可以正常显示
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>变量</title>
<script type="text/javascript">
var mychar;
mychar="javascript";
var mynum = 6;
document.write(mychar,mynum);
</script>
</head>
<body>
</body>
</html>
这个是因为什么呢?谢谢啦~
mychar是选中标签的对象,mychar.innerHTML为对象的文本值eg. <p>你是谁?</p> document.write(mychar);会的到[object HTMLParagraphElement];document.write(mychar.innerHTML)会得到“你是谁?”.