我正在使用 jquery JQuery 并希望在页面加载时隐藏 div。为此,我使用以下 javascript(在页面中)
$( document ).ready(function() {
$('#some_div').hide();
$('#some_btn').closest('.ui-btn').hide();
});
加载页面时,有时会隐藏 div 和按钮,有时则不会。我似乎看不到任何决定它们何时隐藏/不隐藏的一致性。当我使用标准链接的 JQM ajaxy 加载导航到页面以及刷新页面时,会发生这种情况。我正在使用 Chrome(最新)。关于这里可能出了什么问题的任何想法?
编辑 1
根据请求,这是我正在使用的 html(其中还包括在 pageshow 上的 @Omar 建议)
<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en" > <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en" > <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en" > <![endif]-->
<!--[if gt IE 8]> <html class="no-js" lang="en" > <![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="stylesheet" href="/static/jquery-ui-1.10.3.custom.min.css">
<link rel="stylesheet" href="/static/jquery-mobile/css/themes/default/jquery.mobile-1.3.2.min.css">
<script src="/static/jquery-1.9.1.min.js"></script>
<script src="/static/jquery-ui/jquery-ui-1.10.3.custom/js/jquery-ui-1.10.3.custom.min.js"></script>
<script src="/static/jquery-mobile/js/jquery.mobile-1.3.2.min.js"></script>
<!-- CSS: implied media="all" -->
</head>
<body>
<div data-role="page" id = "main-page">
<div data-role="header" style="overflow:hidden;">
</div>
<div data-role="content">
<div id = "some_div">
Test div
</div>
<button id = "some_btn">Test button</button>
</div>
</div>
<script type="text/javascript">
function hide_things()
{
$('#some_div').hide();
$('#some_btn').closest('.ui-btn').hide();
}
$(document).on('pageshow', '#main-page', function ()
{
hide_things();
});
$( document ).ready(function() {
hide_things();
});
</script>
</body>
</html>