为了账号安全,请及时绑定邮箱和手机立即绑定

这条命令咋想到的啊,什么意思呢

var oSubNav=this.getElementsByTagName('ul')[0];

正在回答

4 回答

var oSubNav=this.getElementsByTagName('ul')[0];

//代码是不是有这么一段 var aLi=document.getElementsByTagName('li');

document代表文档流。就是现实html标签和文本的窗口

getElementsByTagName("li")这是一个获取元素的方法,通过标签名字去获取,什么标签名字呢——"li";

在文档流下的“li”元素肯定不止一个吧,所以他返回给你的是一个HTML元素集合,他有数组的一些特性,比如下标([0],[1]....),长度(length),等等。但说他是数组是不准确的,数组是可以自由增添的,而他返回的HTMLCollection对象是只读的,不能给它添加新元素,但如果是为了好记住,你可以把它认为是一个数组,只是少了一些属性。

//然后是不是还用了 一个for循环呢,而且还添加了鼠标事件呢,他的目的就是遍历每一个,让他们都有这个鼠标事件

//再说下var oSubNav=this.getElementsByTagName('ul')[0];中的这个 this, 这个this就是你导致你触发鼠标事件的元素,比如 你移到第一个li 他触发了鼠标事件 this就是这第一个li,然后后面用了之前一样的方法,白话讲,就是这个(你鼠标碰到的这个li)下的ul元素集合下的第一个元素


1 回复 有任何疑惑可以回复我~

学到后面我才看懂了这条命令

0 回复 有任何疑惑可以回复我~
var aLi=document.getElementsByTagName('li');

前面已经通过这条语句获得了第一级菜单的Li.并赋给aLi.

所以上面的this指的就是aLi.那么this.getElementsByTagName('ul')[0];就是指获取藏在一级菜单Li中的二级菜单中的ul啦。并赋给oSubNav.

但实不相瞒我不理解为什么后面会多一个[0].

0 回复 有任何疑惑可以回复我~
#1

Maxmengt

因为得到的是一个数组。
2016-07-15 回复 有任何疑惑可以回复我~
#2

慕粉3686312

因为得到的也是一个数组,每个数组里的元素都有自己的编码0、1、2、3这些,所以只有标上编码才能输出数组里的一组数据,不然就是整个数组
2016-08-16 回复 有任何疑惑可以回复我~
#3

第二热情 回复 慕粉3686312

其实里面也仅有第一个的 对么?
2016-09-11 回复 有任何疑惑可以回复我~

获取到的元素标签数组赋值给oSubNav

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
导航条菜单的制作
  • 参与学习       123899    人
  • 解答问题       813    个

水平、垂直、圆角导航条菜单,让您的技术探索之路更高效

进入课程

这条命令咋想到的啊,什么意思呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信