基于正文文本使用Javascript隐藏元素类

基于正文文本使用Javascript隐藏元素类,javascript,jquery,html,hide,display,Javascript,Jquery,Html,Hide,Display,我有一个动态生成的页面,根据用户是否登录来更改内容 因此,基于网页正文中的文本,我想隐藏一些元素 HTML示例: <div class="button-wrapper"> <a class="button-1" href="/upload" id="button-pop"> <span class="button-text">Upload New Product</span>

我有一个动态生成的页面,根据用户是否登录来更改内容

因此,基于网页正文中的文本,我想隐藏一些元素

HTML示例:

    <div class="button-wrapper">
         <a class="button-1" href="/upload" id="button-pop">
              <span class="button-text">Upload New Product</span>
         </a>
    </div>
    <div class="wv-signupnotice">
         <h3>Sign up to start learning</h3>
              <p>Help children in rural communities</p>     
    </div>
非常感谢您的帮助

让divs=document.getElementsByClassName('button-wrapper')

此函数将返回包含按钮包装类的元素集合。遵循代码,如果文档上存在任何其他具有wv signupnotice的div,则该代码将隐藏此div。希望能有帮助

let divs=document.getElementsByClassName('button-wrapper');
$(文档).ready(函数(){
if($('div').hasClass(“wv注册通知”))
divs[0]。style.display=“无”;
});

注册开始学习
帮助农村社区的儿童


您在案例中检索的innerHTML永远不会等于“农村社区”,因为innerHTML实际上类似于“a类”=“…农村社区…span>。/a>”

你认为你应该选择indexOf而不是:

let divs = document.getElementsByClassName('button-wrapper');

for (let x = 0; x < divs.length; x++) {
    let div = divs[x];
    let content = div.innerHTML.trim();

    if (content.indexOf('rural communities') > -1) {
        div.style.display = 'none';
    }
}
let divs=document.getElementsByClassName('button-wrapper');
for(设x=0;x-1){
div.style.display='none';
}
}

你的代码看起来应该可以正常工作。你有没有遇到任何错误?没有,我看不到任何错误,类
按钮包装器
就是无法隐藏!它太顽固了!
如果文本是“农村社区”,我想隐藏类按钮包装器“可以在网页上找到,或者类似地,如果存在类别wv signupnotice。
如果这确实是您想要的,您不应该在循环之外进行检查,因为它不依赖于任何单个
。按钮包装器
div?或者你想要某种程度上依赖于检查
。按钮包装
内容的逻辑吗?是的,我实际上不关心
里面有什么。按钮包装
,而我只想
。如果网页上的任何地方都有文本“农村社区”,则按钮包装
是隐藏的。不过这是动态生成的。在任何时候,页面上都会出现不止一个“农村社区”的情况吗?您可以像上面那样将js代码放在ready函数中。您正在使用jquery吗?如果你看到了代码,它就可以正常工作,除非你的页面上有其他东西。进行了编辑。无论如何,感谢您的慷慨帮助!非常感谢!
let divs = document.getElementsByClassName('button-wrapper');

for (let x = 0; x < divs.length; x++) {
    let div = divs[x];
    let content = div.innerHTML.trim();

    if (content.indexOf('rural communities') > -1) {
        div.style.display = 'none';
    }
}