请问一下这里传的参数li是什么意思 传这个li所以下面的getElementByTagName前面才能用li这个范围限定吗
function showsubmenu(li){ //这行的li是什么意思 var submenu = li.getElementsByTagName("ul")[0]; submenu.style.display="block"; }
不传这个li参数那么getElementByTagName 前边的li 就不可以使用了吗
function showsubmenu(li){ //这行的li是什么意思 var submenu = li.getElementsByTagName("ul")[0]; submenu.style.display="block"; }
不传这个li参数那么getElementByTagName 前边的li 就不可以使用了吗
2017-09-19
element.getElementsByTagName(tagname)
里面的element是某个元素节点对象,所获得的是该元素对象下的以tagname为标签名的子节点的集合,所以
li.getElementsByTagName("ul")[0];中的li也相当于一个元素对象,具体指代那个元素对象不确定,需要在之前js语句中申明li表示的元素对象,如
var li=document.getElementsByTagName("li")[0];
则在showsubmenu(li)中传入的是"li"对应的第一个元素对象;
var li=document.getElementsByTagName("div")[0];
那么传入的就是“div”对应的第一个元素对象;
所以li只是一个变量,你可以用其他任何符合变量命令规则的名称替换它,只是这里可能li获取的是tagName="li"的元素结点,所以将这个变量名命名为li ,更加方便而已。
如果函数中不传入这个变量li,那么element.getElementsByTagName(tagname)中对应的element需要自行获取,或者直接用document来作为element来限定范围,其实document本身就是指整个HTML文档,只是限定范围更大
举报