使用普通的javascript将效果应用于特定的lis

时间:2013-04-17 12:13:15

标签: javascript html-lists

我可以在jquery中执行此操作,但出于某种原因,我的老板更喜欢将服务器请求减少到32kb,而不是使用jquery的魔法。那么,如何使用普通的javascript将效果应用于所有li标签?

我尝试了getElementById,但这仅适用于ID。用javascript也不是很好。我的li非常基本,没有类名。

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

  

TypeError:document.getElementById(...)。getElementsByTagName(...)。style is undefined

document.getElementById('holder').getElementsByTagName('li').style.display="none‌​";
非常感谢。

2 个答案:

答案 0 :(得分:4)

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

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

编辑隐藏元素内的所有li元素,内容为id-“holder”:

var lis = document.getElementById('holder').getElementsByTagName('li');
for(var i = 0; i < lis.length; i++){
    lis[i].style.display="none‌​";
}

答案 1 :(得分: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
}