如何使用javascript检查以(classname__)开头的类是否存在?

web*_*ogs 1 javascript

在下面的代码片段中,我使用该方法来检查文档中contains()是否存在以 开头的类。banner__如果我显式定义该类,那么我可以获得真实的响应。但是文档中可能存在以banner__.

如何检查以 开头的类是否banner__存在?

const banner = document.querySelector('.banner');
const isBanner = banner.classList.contains('banner__');
if (isBanner) {
  console.log('Exists')
} else {
  console.log('Does not exist')
}
Run Code Online (Sandbox Code Playgroud)
<div class="banner banner__holiday">Banner</div>
Run Code Online (Sandbox Code Playgroud)

Bar*_*mar 5

将类列表转换为数组,然后用于.some()测试其中是否有任何以您想要的开头。

const banner = document.querySelector('.banner');
const isBanner = Array.from(banner.classList).some(c => c.startsWith('banner__'));
if (isBanner) {
  console.log('Exists')
} else {
  console.log('Does not exist')
}
Run Code Online (Sandbox Code Playgroud)
<div class="banner banner__holiday">Banner</div>
Run Code Online (Sandbox Code Playgroud)