2

我有一个 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

4

5 回答 5

6

你不能简单地使用CSS吗?

#postreply {
   display: none; /* onLoad your div will be hidden */
}
于 2013-07-05T07:50:04.980 回答
4

试试这个,一旦使用$(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/

于 2013-07-05T07:56:42.970 回答
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>
于 2013-07-05T07:58:02.867 回答
1

看来您需要删除该#标志。

$('postreply').hide();

或者,香草 Javascript:

document.getElementById('postreply').style.display = 'none';
于 2013-07-05T07:51:21.220 回答
0

您可以从一开始就隐藏它。

要么使用javascript :document.getElementById('lbStatus').style.display = 'none';并让它恢复“可见”使用document.getElementById('lbStatus').style.display = "";

或使用css#lbStatus{display: none;}

于 2013-07-05T07:51:28.167 回答