javascript - 如何在 JavaScript 中找到的 div 中获取特定类的元素?

标签 javascript html dom

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

关于javascript - 如何在 JavaScript 中找到的 div 中获取特定类的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21296611/

相关文章:

javascript - casperjs:评估 document.querySelector 返回 null

javascript - 使用 JQuery,是否可以在 DOM 元素调用 .remove() 时运行函数?

javascript - 如何使用 DOM 更改/添加 p 标签样式?

javascript - 是什么 !! JavaScript 中的(不是 not)运算符?

javascript - node.js 中的 Cronjobs

javascript - 优化 if else 条件 javaScript

php - 从表单提交调用返回到 .php 文件

javascript - 调用输入的点击事件在 Safari 中不起作用

html - 为按钮中的图标添加背景颜色

html - 由于 MIME 类型 Angular 应用程序未加载样式表