用于显示/隐藏渲染div的Javascript

时间:2014-02-12 17:24:54

标签: javascript jquery html ruby-on-rails ruby-on-rails-3

Ruby on Rails 3.我试图获得一个显示或隐藏div的按钮。

这不会返回任何错误,但没有任何反应。

<input type=button value="Show Archived Postings" onclick="showHide('oldNews');">

<div id="oldNews">
<%= render 'archive_news' %>
</div>

<script language="javascript" type="text/javascript">
function showHide(elementId) {
    if (document.getElementById) {
        var element = document.getElementById(elementId);
        if (element.style.visibility == 'visible') {
            element.style.visibility = 'hidden';
        } else if (element.style.visibility == 'hidden') {
            element.style.visibility = 'visible';
        }
    }
}
</script>

它将始终呈现我的'archive_news'。我究竟做错了什么?谢谢

1 个答案:

答案 0 :(得分:1)

您可以根据需要使用此代码。单击按钮时,可以使用style属性隐藏和显示元素。

//this would hide when body is loaded
var element = document.getElementById('oldNews');
if(element != null){
    element.style.display = 'none';
}

//this would hide when you click on input button
function showHide(elementId) {
  var element = document.getElementById(elementId);
    if (element != null) {
        if(element.style.display != 'none'){
            element.style.display = 'none';
        }else{
            element.style.display = 'block';
        }
    }
}