页面加载时隐藏并显示div

时间:2013-07-05 07:47:59

标签: javascript jquery

我有一个div:

<div id="postreply">
    <asp:Label ID="lbStatus" CssClass="input-large1" runat="server" Text="Close" Width="600px"></asp:Label>
</div>

我尝试在页面加载时隐藏div:

<script type="text/javascript">
window.onload = function() {            
        var x = document.getElementById('lbStatus').innerText;
        if(x == "Close"){
            $("#postreply").hide();
        }
    }</script>

任何人都帮我用lbStatus.Text = Close

来隐藏这个div

5 个答案:

答案 0 :(得分:6)

你不能简单地使用CSS吗?

#postreply {
   display: none; /* onLoad your div will be hidden */
}

答案 1 :(得分:3)

尝试使用$(document).ready一次,它会在加载HTML文档并且DOM准备就绪时执行,其中window.onload在完整加载完整页面时执行,包括所有框架,对象和图像

$(document).ready(function() {
    if($("#lbStatus").val() == "Close"){
        $("#postreply").hide();
    }
});

当您使用Asp.Net时,请尝试使用ClientId属性

$(document).ready(function() {
    if($("#<%=lbStatus.ClientID%>").val() == "Close"){
        $("#postreply").hide();
    }
});

更改了<%=lbStatus.ClientID%>而不是lbStatus

参考:http://4loc.wordpress.com/2009/04/28/documentready-vs-windowload/

答案 2 :(得分:2)

你在纯粹的javascript和jQuery之间混淆 如果您不包含jquery库,请使用纯javascript。

<script type="text/javascript">
  window.onload = function() {            
    var x = document.getElementById('lbStatus').innerText;
    if(x == "Close"){
      // $("#postreply").hide();
      document.getElementById('postreply').style.display = 'none';
    }
  }
</script>

答案 3 :(得分:1)

您似乎需要删除#标志。

$( 'postreply')隐藏();

或者,vanilla Javascript:

document.getElementById('postreply').style.display = 'none';

答案 4 :(得分:0)

您可以从头开始隐藏它。

使用 javascript document.getElementById('lbStatus').style.display = 'none';并将其恢复为“可见”使用document.getElementById('lbStatus').style.display = "";

css #lbStatus{display: none;}