结果:null或[object HTMLParagraphElement]
这个是什么意思?
想返回标签的内容需要加innerHTML
突然感自己写的有点多,如果题主不喜欢看太多的字,请从“这是因为,前面说的浏览器...”阅读体验更佳
从浏览器读取html文件来说,是从上到下读取的:如果将JavaScript放在head中,HTML文件读取时会先读取并执行JavaScript的内容,然后才会执行body标签内的内容;如果放在body标签内,HTML文件读取时,会先读取在JavaScript前面的内容,再读取JavaScript的内容;
从上面这个原理与课程结合进行分析:
结果为null是因为,JavaScript没有找到id名为“con”的标签,所以返回null
结果为[object HTMLParagraphElement],则说明JavaScript找到了id名为“con”的标签,以对象的形式返回该标签
但是我们发现在HTML中明明存在id=“con”的标签,这又是怎么回事?
这是因为,前面说的浏览器读取HTML文件,是从上到下读取的:
如果将JavaScript放在id=“con”的标签之前,这就导致了浏览器在读取HTML文件时,JavaScript先读取,读取完JavaScript后,才开始读取到id=“con”的标签,这就是说JavaScript读取时是没有读取到id=‘con’的标签,只能返回null,表示没有读取到该标签
如果将JavaScript放在id=“con”的标签之后,在浏览器读取HTML文件时,先读取到了id="con"的标签,才读取JavaScript,这时由于id="con"的标签名存在,JavaScript可以发现,所以以对对象的形式([object HTMLParagraphElement])返回该标签