我试图隐藏页面中的ID,然后在页面上加载了所有javascript后显示。我正在使用的javascript再次显示内容:
$(document).ready(function() {
$("#HomePage")[0].style.visibility = "visible";
$('#HomePage').addClass('animated fadeIn');
$("#CategoryPage")[0].style.visibility = "visible";
$('#CategoryPage').addClass('animated fadeIn');
}
和使用的css
#HomePage { visibility:hidden; }
#CategoryPage { visibility:hidden; }
和主页的html
<html>
<body>
<section id="HomePage" class="main-content">
...
</section>
</body>
</html>
和类别页面的html
<html>
<body>
<section id="CategoryPage" class="main-content">
...
</section>
</body>
</html>
这适用于主页 - 最初隐藏div然后显示但是当我出于某种原因进入类别页面时javascript没有运行。我在两个页面上都收到错误,但我不确定这是否会影响它,因为它仍在主页上运行 - 未捕获TypeError:无法读取属性&#39;样式&#39;未定义的。有人有什么想法吗?
答案 0 :(得分:1)
#HomePage
上是否存在#CategoryPage
?如果我已正确理解您的问题,它会尝试在#HomePage
上查找#CategoryPage
并确实将其声明为undefined
。
如果您使用的是jQuery,则以下内容应该可行。
$(document).ready(function() {
$("#HomePage").css('visibility', 'visible');
$('#HomePage').addClass('animated fadeIn');
$("#CategoryPage").css('visibility', 'visible');
$('#CategoryPage').addClass('animated fadeIn');
}
&#13;
答案 1 :(得分:1)
可能你的问题是访问[0]索引时。如果&#39;#HomePage&#39;或#&#39;#CategoryPage&#39;不存在然后它会抛出错误,因为数组中的第一项不存在。试试这个......
$(document).ready(function() {
$("#HomePage").css("visibility", "visible");
$('#HomePage').addClass('animated fadeIn');
$("#CategoryPage").css("visibility", "visible");
$('#CategoryPage').addClass('animated fadeIn');
}
jQuery会将css()应用于所有匹配的项目(如果没有匹配则不应用)。