使用javascript根据DOM中另一个DIV内的文本隐藏DIV?

时间:2015-02-04 11:27:52

标签: javascript

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

html:

<title>admin</title>

如果是admin,则隐藏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;
});

1 个答案:

答案 0 :(得分:0)

好的,这应该回答你的问题。 对于ID为demo的元素,这将设置样式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";
}}