首页 > 解决方案 > Vanilla JS隐藏Div如果包含一个字符串

问题描述

我正在处理一个在显示产品时有时会返回错误代码的 CMS。

我目前正在学习基本的 JS,搜索了整个堆栈溢出,但找不到适用的答案。

在本页面

在使用的产品部分,每个产品都会出现“#ResourceNotFound: ProjectResources, inside#New Construction : No”的错误代码。

有没有一种简单的方法可以使用javascript从前端隐藏这些片段?

我曾经尝试过的代码是

document.querySelectorAll('.text-medium').forEach((element, index) => {
   if (element.innerText.includes('New Construction :  No')) {
       element.style.display = 'none';
   }
})

标签: javascript

解决方案


您需要检查其中任何一个短语是否存在,因为它们位于不同的<div>元素中。另外,使用textContent代替innerText.

document.querySelectorAll('.text-medium').forEach((element, index) => {
   if (element.textContent.includes('New Construction :  No')
    || element.textContent.includes('#ResourceNotFound: ProjectResources')) {
       element.style.display = 'none';
   }
})

推荐阅读