javascript - 如何检查 DOM 中 div 的所有类名是否具有带有 vanilla Javascript 的特定字符串?

标签 javascript html getelementbyid classname class-names

我有以下标记:

<div id="app">
  <div class="1hidden1></div>
  <div class="123"></div>
  <div class="hidden"></div>
</div>

如何检查 DOM 中的 div 是否有包含文本 hidden 的类名?对于上述代码,所需的输出将是 true

这是我到目前为止所拥有的,但这只检查上面示例中的第三个 div:

if (document.getElementById('app').classList.contains('hidden')) {
  // this does not select the first div within #app
}

我想检查第三个和第一个 div -- 任何包含类名和文本 hidden 的 div。

最佳答案

您可以使用.querySelectorAll() 并且属性包含选择器,检查返回的NodeList.length 并使用! ! 运算符获取 Boolean

var hidden = document.querySelectorAll("#app [class*='hidden']");

console.log(!!hidden.length, hidden);
<div id="app">
  <div class="1hidden1"></div>
  <div class="123"></div>
  <div class="hidden"></div>
</div>

关于javascript - 如何检查 DOM 中 div 的所有类名是否具有带有 vanilla Javascript 的特定字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47081904/

相关文章:

javascript - 在点击事件中读取SPAN的内容

html - 如何grep所有html页面中的所有外部链接

javascript - 使用包含字符串的变量作为 getElementById() 的参数时出现 "object expected"错误

jquery - 在页面刷新时加载不同的图像

JavaScript:根据输入字段值将查询字符串添加到 URL(如果设置)?

javascript - 如何在JavaScript中选择点击输入框上的文本?

javascript - Qt QWebEngineView 在发布中但在调试中找不到 javascript 文件

javascript - AJAX:重复条目

php - 如何在 javascript 中创建一个按钮,当用户单击该按钮时将打开 iframe?

javascript - 使用 PHP 在数据库中存储动态创建元素的 HTML