我需要的是找到一个具有特定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等)。

最佳答案

如果是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];

10-08 10:55