1

我可以在 jquery 中做到这一点,但出于某种原因,我的老板更喜欢将服务器请求减少到 32kb,而不是使用 jquery 的魔力。那么,如何li使用纯 javascript 在点击时将效果应用于所有标签?

我已经尝试过getElementById,但这仅适用于 ids。javascript 也不是很好。我li的很基础,没有类名。

编辑:想要隐藏所有li点击。从其中一个答案中尝试过,但错误提示

TypeError: document.getElementById(...).getElementsByTagName(...).style 未定义

document.getElementById('holder').getElementsByTagName('li').style.display="none‌​";

非常感谢。

4

2 回答 2

4

使用document.getElementsByTagName('li');它将返回所有 li-s。或者从特定元素中获取 li :

document.getElementById('myelementid').getElementsByTagName('li');

编辑隐藏li元素内的所有元素 id-“持有人”:

var lis = document.getElementById('holder').getElementsByTagName('li');
for(var i = 0; i < lis.length; i++){
    lis[i].style.display="none‌​";
}
于 2013-04-17T12:14:42.273 回答
0

尝试这个:

var allLis = document.getElementsByTagName('li'), thisLi, i, l;
for(i=0, l=allLis.length; i<l; i++){
    thisLi = allLis[i];
    // do something to 'thisLi' here
}
于 2013-04-17T12:16:05.140 回答