2012-12-04 75 views
-1

添加这些行代码后,我的子菜单不显示,应该怎么做?添加window.onload后子菜单不显示

在我添加此代码之前,我的子菜单完美地工作,我怀疑是window.onload的问题。

与我想要的结果下面的代码工作完美,但它为我创造另一个问题,就是我的子菜单犯规显示了

window.onload = function() 
    { 
    var element = document.getElementById('<%=lblMessage.ClientID%>'); 
    var lblMsg = document.getElementById('<%=lblAttention.ClientID%>'); 

    lblMsg.style.display = 'none'; 


    if(element.innerHTML.length) 
     lblMsg.style.display = 'inline'; 
    else 
     lblMsg.style.display = 'none'; 

} 

在浏览器中显示

javascript:__doPostBack('ctl00$m$g_0248855d_ee1a_4a57_9508_a520e1f7f8b9$ctl00$MenuReport','Report') 
+0

错误控制台?你可以把你的代码放入jsfiddle.net吗?你的ID是否正确 – mplungjan

+0

是的,身份证正确,一切正常,只是子菜单问题 –

+0

没有足够的信息来回答你的问题。如果可以的话,请省略更多的信息或发布问题。 –

回答

0

这里的错误味精建议

看页面源码

如果您有类似

<body onload="somefunctiontoinitialisesubmenu()" ...> 

移动代码的onload事件是这样的:

window.onload = function() { 
    var elem = document.getElementById('<%=lblMessage.ClientID%>'); 
    var lblMsg = document.getElementById('<%=lblAttention.ClientID%>'); 
    var html = elem.innerHTML; 
    lblMsg.style.display = html.length!=-1?'inline':'none'; 
    somefunctiontoinitialisesubmenu(); 
} 
+0

感谢mplungjan,它现在工作正常> _ < –