使用 javascript 在 DOM 中隐藏 DIV 中的文本,具体取决于另一个 DIV 中的文本

Hide DIV depending on text inside another DIV in DOM with javascript?

本文关键字:文本 DIV 取决于 另一个 javascript 隐藏 使用 DOM      更新时间:2023-09-26

我需要根据用户角色隐藏一个DIV。除了标题标签内的文本外,我没有可以使用这些用户角色的变量。

.html:

<title>admin</title>

如果管理员然后隐藏示例的 DIV

<div class="demo"></div>.

我只能使用Vanilla Javascript。

更新:这会隐藏div,但在页面加载时显示它以闪烁:

$('document').ready(
function() {
function _title(){ 
if(document.title=="admin"){
document.getElementById('demo').style.display="none";
}
}
window.onload=_title;
});
好的,

这应该回答你的问题。这将为具有 demo ID 的元素设置样式 none。

function _title(){
if(document.title=="admin"||document.title=="admin1"){
    document.getElementById('demo').style.display="block";
}
}
window.onload=_title;

如果您使用class而不是id来允许此函数处理多个元素......

function _title(){
if(document.title=="admin"){
    var DemoClass = document.getElementsByClassName('demo');
    for(var i=0; i<DemoClass.length; i++) {
        DemoClass[i].style.display="block";
    }
}
}
window.onload=_title;

如果这回答了您的问题,请将您的问题标记为已回答将不胜感激。

只需将其添加到您的页面对于id

<style type="text/css">
#demo{display:none;}
</style>

对于class

<style type="text/css">
.demo{display:none;}
</style>

---- 包含单词 Admin ---- 的标题

对于Class

function _title(){
    var allow = document.title.search("admin");
if(allow>-1){
    //Set display for demo element
    var DemoClass = document.getElementsByClassName('demo');
    for(var i=0; i<DemoClass.length; i++) {
        DemoClass[i].style.display="block";
    }
}}

对于id

function _title(){
    var allow = document.title.search("admin");
if(allow>-1){
    //Set display for demo element
document.getElementById('demo').style.display="block";
}}