Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery在刷新时无法显示隐藏的div_Jquery - Fatal编程技术网

Jquery在刷新时无法显示隐藏的div

Jquery在刷新时无法显示隐藏的div,jquery,Jquery,我有个奇怪的问题 我有一个通过css显示隐藏的div:none,每个页面的body标签上都有一个id。 现在,当我通过点击地址栏中的enter键或通过指向该页面的链接加载页面时,所有内容都会正常加载,需要显示的div就会显示出来 但如果我按F5按钮刷新页面,则不会 超级简单的jquery,但在F5上不起作用?缺陷或者我错过了什么 html Jquery $(document).ready(function(){ var page = $('body').attr('id'); $

我有个奇怪的问题

我有一个通过css显示隐藏的div:none,每个页面的body标签上都有一个id。 现在,当我通过点击地址栏中的enter键或通过指向该页面的链接加载页面时,所有内容都会正常加载,需要显示的div就会显示出来

但如果我按F5按钮刷新页面,则不会

超级简单的jquery,但在F5上不起作用?缺陷或者我错过了什么

html

Jquery

$(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');
});