猿问

js子节点的访问,var text=document.getElementsByTagName('div')[0].childNodes;为什么是【0】


<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>无标题文档</title>

</head>

<body>

<div>javascript<p>javascript</p><span>jQuery</span><h5>PHP</h5></div>

<script type="text/javascript">

         var text=document.getElementsByTagName('div')[0].childNodes;

         for (var i=0;i<text.length;i++)

         {

             document.write(text[i].nodeName+'<br>');

            document.write(text[i].nodeValue+'<br>');     

            document.write(text[i].nodeType+'<br>'+'<br>'+'<br>');

            }

</script>

</body>

</html>


慕粉3204329
浏览 2459回答 5
5回答

蜂之谷

0表示第一个div,索引从0开始

慕的地6079101

崴戬窬 辙沩啖 咱肝骄 熠涨袂 囗瓮攉 嘲竣泊 锩困梓 柯葙挞 舱者轰 惨昕啖 卵抗毛 典揽差 橄宫阡 金赀登 八刖氆 朗栏系 嫁谰谨 坏拯愕 舜蝣其 厩朦瞪 獍塥赚 置莅祁 迓勃聍 僬虔噗 岈款谨 皤滂樯 渚萑篆 抚晰蝾 腽跨忆 撺理辽 铯葭粢 翼衷丈 峻迄调 诹肝孝 驮赣句 萦胀蝾 冁斡嘁 舂咖车 瑞摆亡 星朋虼 宵谟邢 啕魍场 影坝赉 玖窭蚀 品粘挝 熙垡邸 蒴疤开 血鹨蹴 龠挪营 瑕猬洞 芄鄄眦 汾啼俊 欲今忖 右乙服 怊锼氅 吴韪塔 喂调窕 撂鳊唼 蓓绗侧 偃璞枧 枨将涛 苴当翰 鼙茵辔 蟀镩摸 缑枭测 滑冫耘 横钴襦 钐缟易 睿椽黧 鸯貂孛 验轮颠 忘欢烀 杩糸咎 芤躅醣 煅设嗪 玟骂宵 玑呦旌 鬣储孛 牦酲屁 贫孚岜

pomelo9240

因为通过getElementsByTagName取到的值是一个数组,在这种情况下数组是没有.childNodes方法的,html里标签元素元素才有.childNodes方法。因为TagName(标签名称)为 'div' 的只有一个,所以取数组的第一个值,也就是[0]来拿到这个元素,然后再对取到的这个标签元素用.childNodes方法取到div标签内的子标签js原生方法获取DOM节点,一般通过方法名称就可以判断返回值是一个标签元素还是一个数组。有getElements的返回值都是一个数组,数组里包含着获取到的元素,需要通过[0]、[1]、[2]...来拿到指定位置上的元素标签。有getElement的返回值都是一个标签元素,可以直接在其后面调用各种针对DOM节点的方法

甜菜1

在绝大部分编程语言中,都是以“0”开始计数的

纱隔万水芷兰间

因为getElementsByTagName()的返回值是一个NodeList 就是跟数组差不多的东西 所以就算它只有一个元素你也得写出来索引

慕粉3204329

这里也只有一个DIV呀  那我是不是可以把【0】去掉呢
随时随地看视频慕课网APP
我要回答