因为你的script
标签上面的HTML定义,它作用于的元素,它无法找到他们,因为他们不为运行代码的时候存在。这是您页面中事物发生的顺序:
纠正方法:
将script
元素移到最末端,就在结束</body>
标记之前,因此所有元素在代码运行之前就存在。除非有充分的理由不这样做,通常这是最好的解决方案。
使用jQuery的ready
功能。
使用script元素上的defer
属性,但要注意,并非所有浏览器都支持该属性。
但同样,如果您控制脚本元素的位置,通常#1通常是最好的选择。
JS&jQuery无法检测到html元素,并说它们是未定义的
因为你的script
标签上面的HTML定义,它作用于的元素,它无法找到他们,因为他们不为运行代码的时候存在。这是您页面中事物发生的顺序:
纠正方法:
将script
元素移到最末端,就在结束</body>
标记之前,因此所有元素在代码运行之前就存在。除非有充分的理由不这样做,通常这是最好的解决方案。
使用jQuery的ready
功能。
使用script元素上的defer
属性,但要注意,并非所有浏览器都支持该属性。
但同样,如果您控制脚本元素的位置,通常#1通常是最好的选择。