我在页面的头部插入了一个脚本,如下所示
<head>
... load jQuery ....
<script>var bbody = $('body');</script>
</head>
<body>
....
<script>console.log(bbody);</script>
<script>console.log($('body'));</script>
</body>
并且第一句话中的console.log的结果总是undefined
,但第二句是正确的对象,所以我的问题是:
<script>
上的代码总是在解释器上执行时读取里面的代码?答案 0 :(得分:2)
它的层次结构。对于第一个<body>
标记,<script>
仍未显示在图片中。所以,undefined
。
您可以使用$(document).ready
定义bbody
以确保首先加载dom。
$(document).ready(function(){
var bbody = $('body');
});
答案 1 :(得分:1)
将var bbody = $('body');
包裹在$(document).ready
中,以确保在您要加载正文标记时存在。
$(document).ready(function(){
var bbody = $('body');
});