Javascript:如果满足条件,则隐藏元素

时间:2018-12-06 14:05:01

标签: javascript html

我正试图根据其ID隐藏一个元素,但是我无法使其正常工作。我已经用谷歌搜索了答案,但是,不管我做什么,我似乎都无法使它对我有用。

我的代码附在下面。

<!DOCTYPE html>
<html>
    <!-- HTML -->
    <body>
        <div id="role" value="Edit">
            <button> Edit </button>
        </div>
    </body>

    <!-- Javascript -->
    <script>
        if(document.getElementById("role").value == 'Edit'){
            document.getElementById("role").style.display = 'none';
        }
    </script>
</html>

3 个答案:

答案 0 :(得分:2)

您可以使用下面的代码,要获取属性而不是值。

如果需要,可以使用querySelector代替getElementById。

var role = document.querySelector('#role');

if(role.getAttribute('value') == 'Edit'){
    role.style.display = 'none';
}
<!DOCTYPE html>
<html>
    <!-- HTML -->
    <body>
        <div id="role" value="Edit">
            <button> Edit </button>
        </div>
    </body>
</html>

答案 1 :(得分:1)

您尝试过吗?

<!DOCTYPE html>
<html>
<!-- HTML -->
<body>
    <div id="role" value="Edit">
        <button> Edit </button>
    </div>
</body>

<!-- Javascript -->
<script>
    if(document.getElementById("role").getAttribute('value') == 'Edit'){
        document.getElementById("role").style.display = 'none';
    }
</script>

答案 2 :(得分:0)

在您的示例中,document.getElementById("role").value未定义。要检索属性值,应使用element.getAttribute('attr')方法或element.attributes[attr].value

您的情况应该是document.getElementById("role").attributes['value'].value