我想在一个以上但不是网站的所有页面上隐藏div。以下解决方案将其隐藏在一个页面上,但如何添加两个或三个特定页面?
<script language="text/javascript">
$(function(){
if (window.location.pathname == "mywebsite/Videos.html") {
$('#navleft').hide();
} else {
$('#navleft').show();
}
});
</script>
答案 0 :(得分:6)
只是给出一个条件
$(function(){
if (window.location.pathname == "mywebsite/Videos.html"||window.location.pathname == "url2.html"||window.location.pathname == "url3.html") {
$('#navleft').hide();
} else {
$('#navleft').show();
}
});
答案 1 :(得分:3)
不要使用JavaScript。而是在指示当前页面的<html>
或<body>
元素上设置一个类。因此,如果您在索引页面<body class='index'>
上。这样,您可以使用CSS切换特定元素的可见性:
/* Hide navigation on index and video pages */
body.index #navleft,
body.videos #navleft {
display: none;
}
如果您确实希望使用JavaScript,那么您有多种选择,从非常易读到非常简洁。接近频谱的可读端是简单地将各种路径名存储在一个数组中,并执行快速查找:
你可以使用非常基本的东西并使用数组:
var pages = [
"/videos.html",
"/photos.html"
];
$( "#navleft" ).toggle(
$.inArray( location.pathname, pages ) >= 0
);
$.fn.toggle
函数接受一个布尔值,我们可以通过在潜在值数组中查找当前location.pathname
并测试返回的索引来生成该值。如果找到了,我们会返回true
并且项目仍会显示 - 否则会被隐藏。