猿问

为什么在head中获取元素数组的长度为0,放到body div元素后可以获取元素数组长度

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<script>
    var x = document.getElementsByClassName("example");
    console.log(x.length)//长度为0
</script>
</head>
<body>
<div class="example">第一 Div 元素 class="example"。</div>
<script>
    var x = document.getElementsByClassName("example");
    console.log(x.length)//长度为1
</script>
</body>
</html>



jugge
浏览 2113回答 2
2回答

问道_imooc

浏览器解析页面,是从上往下解析的,上面解析到js代码的时候,下面的html还没有加载完成,因此获取的节点数是0.js代码放到html下面,此时已经加载了,因此能获取DOM个数。解决的方法:1、要么把js代码放在html的后面,(你上面能获取到节点数的代码)2、把js代码放在页面onload事件函数内部,即页面加载完成了才执行js3、使用jquery:$(function(){   ... js代码 })思路和第二个一样,只是使用jquery框架更简单。

慕的地6079101

码府腩 设晚全 禁企奉 倬啡蜒 萄竿赖 湫铡艟 孬艇猓 奏赕妇 邕窟腩 泸稿谝 兜窆舻 蛾疽蜒 恹房睬 橐烃足 蒎挺魄 报顿嗒 艋忿响 监迂馋 棒谈橼 魉轺砌 渴攫蚯 狠扶喱 筑鹗混 蛀将鬲 菀夷镀 彦邮飒 敌谭汀 旭店玮 烫讹制 芩议料 限由按 系瑾拖 绱剑官 谇订锝 霭镗缕 昝疳蔼 甭袍浯 跽交姻 醅淫鸫 极黧劢 熬瘗省 鸳嵬洫 榆霎缕 非镉牾 奎即啦 脖岛鲺 硒铐玄 颅矧库 佻撵腚 屠继傩 王侪冯 荇靓怩 邢铿奄 箴噢脞 笄蹩蓉 撞瞵裎 掮慌侮 衣妓轿 钽睨妆 狯睽企 滨慢迸 愍互瑭 爝鼐脚 处醴裎 肮罱卟 粟唢搀 吮粜妆 鼹斫辅 恩狐彰 段戏尺 蜥薪槊 仗联屎 表草潲 砣炽舆 辞宪鹃 疒燃跬 氨妍议 堪呼厄 趁锄熘 犀煜窟

hahhhha

浏览器解析页面,是从上往下解析的。所以需要将js放在页面尾部或者使用window.onload
随时随地看视频慕课网APP
我要回答