Jquery在刷新时无法显示隐藏的div
我有个奇怪的问题 我有一个通过css显示隐藏的div:none,每个页面的body标签上都有一个id。 现在,当我通过点击地址栏中的enter键或通过指向该页面的链接加载页面时,所有内容都会正常加载,需要显示的div就会显示出来 但如果我按F5按钮刷新页面,则不会 超级简单的jquery,但在F5上不起作用?缺陷或者我错过了什么 html JqueryJquery在刷新时无法显示隐藏的div,jquery,Jquery,我有个奇怪的问题 我有一个通过css显示隐藏的div:none,每个页面的body标签上都有一个id。 现在,当我通过点击地址栏中的enter键或通过指向该页面的链接加载页面时,所有内容都会正常加载,需要显示的div就会显示出来 但如果我按F5按钮刷新页面,则不会 超级简单的jquery,但在F5上不起作用?缺陷或者我错过了什么 html Jquery $(document).ready(function(){ var page = $('body').attr('id'); $
$(document).ready(function(){
var page = $('body').attr('id');
$('#sub_navigation.'+page).show();
});
您是通过ID查找元素的,因此不需要页面ID。请尝试以下操作:
$(document).ready(function(){
$("#sub_navigation").show();
});
我不知道有多少元素使用projects
类名,但是否可以通过类名获取元素
$(document).ready(function(){
$(".projects").show();
});
或者这个怎么样
$(document).ready(function(){
$("ul#sub_navigation.projects").show();
});
我想试试这个:
html-在导航id上使用后缀来唯一标识它
<body id="projects">
<ul id="sub_navigation_projects" class="hidden">
<li>stuff</li>
<li>stuff</li>
</ul>
javascript-基于主体id创建唯一的导航id
$(document).ready(function() {
var page = $('body').attr('id');
$('#sub_navigation_'+page).removeClasss('hidden');
});
只是出于兴趣,为什么要使用
“#sub_导航”。+页面
选择器?对于有效的HTML,最多应该有一个元素具有id=sub\u导航
,因此不需要额外的类部分。CSS选择器也是如此,只需使用#sub_navigation{display:none;}
。您可以在$(文档)中放置一个警报
。ready
函数确保在按F5时调用它。因为有三个不同的,我需要获取页面的id,然后显示该页面的子导航我将警报放在那里,它显示页面的id,然后显示div。如果我将其注释掉,它仍然不起作用。这也很奇怪,只是再次检查,它只显示在我警告var的情况下。如果它没有警报,我就不会,有三种不同级别的sub_导航,这真的不是一种好的方法。您应该能够通过元素的ID唯一地标识元素。类和ID之间的差异仍然不能解决这个问题。有多少元素具有项目
类名?你能通过类名找到元素吗?所以我找到了解决方案。由于某些原因,单引号显然是件坏事。我一把它换成双引号,它就工作了。单引号不好的原因是什么?我相信sub_navigation
有一些与之相关的样式。页面上还有其他CSS或Javascript作用于这些HTML元素的情况吗?没有,我把它直接去掉了,它仍然不起作用。“不工作”并不完全准确。有时有效,有时无效。。所以我不知道。走另一条路。
<body id="projects">
<ul id="sub_navigation_projects" class="hidden">
<li>stuff</li>
<li>stuff</li>
</ul>
.hidden{display:none;}
$(document).ready(function() {
var page = $('body').attr('id');
$('#sub_navigation_'+page).removeClasss('hidden');
});