我需要的是找到一个具有特定id的div,然后在其中找到任何具有特定类的元素,并使其中的第一个不可见。我试过了
var hostDivName = "theHostDivName";
var hostDiv = document.getElementsByName(hostDivName);
var theElements = hostDiv.getElementsByClassName("theClassDivName");
theElements[0].style.display = "none";
但它在hostDiv.getElementsByClassName("theClassDivName");
Object #<NodeList> has no method 'getElementsByClassName'
错误。
那么正确的方法是什么?我认为使用纯JavaScript(而不是jQuery或其他),这似乎是合理的。
答案 0 :(得分:11)
如果是ID,为什么使用getElementsByName
而非getElementById
var hostDivName = "theHostDivName";
var hostDiv = document.getElementById(hostDivName);
var theElements = hostDiv.getElementsByClassName("theClassDivName");
theElements[0].style.display = "none";
假设你的意思是名字,而不是ID
var hostDiv = document.getElementsByName(hostDivName)[0];