问答详情
源自:3-2 通过ID获取元素

结果:null或[object HTMLParagraphElement] 什么意思

结果:null或[object HTMLParagraphElement]

这个是什么意思?

提问者:慕运维0036432 2018-06-16 23:09

个回答

  • 木爱柯
    2018-07-26 21:41:50

    想返回标签的内容需要加innerHTML

  • 仔姜
    2018-06-17 11:10:55

    突然感自己写的有点多,如果题主不喜欢看太多的字,请从“这是因为,前面说的浏览器...”阅读体验更佳

    从浏览器读取html文件来说,是从上到下读取的:如果将JavaScript放在head中,HTML文件读取时会先读取并执行JavaScript的内容,然后才会执行body标签内的内容;如果放在body标签内,HTML文件读取时,会先读取在JavaScript前面的内容,再读取JavaScript的内容;

    从上面这个原理与课程结合进行分析:

    1. 结果为null是因为,JavaScript没有找到id名为“con”的标签,所以返回null

    2. 结果为[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])返回该标签