2014-04-03 84 views
0
<script> 
function myFunction() { 
if (/menu/.test(window.location.href)) { 
    document.getElementById('searchfield').display = 'none'; 
} 
} 
</script> 

我想用JavaScript或JQuery来做到这一点 - 到目前为止我的尝试并不奏效。我有一个div可以出现在所有页面上,但只有1页;我想用JavaScript隐藏它,如果该页面。根据特定页面网址隐藏div

注意:这是一个WordPress的网站;上面的内容插入到文档的header.php头部。重复div的相同位置。

+2

你是否在每个页面上调用'myFunction'? – SomeKittens

+1

'document.getElementById('searchfield')。style.display'你错过了'.style' – kei

+0

当文档准备就绪时,你需要调用这个函数。 '$(myFunction);' –

回答

0

myFunction永远不会被调用。当页面准备好时,您需要明确地调用它$(myFunction);,或者如果需要,请直接使用myFunction();在页脚(或接近它)中调用它。

一个替代方案,因为这是一个WordPress站点,添加PHP代码不会显示该分区(或者甚至发送到客户端!)基于过滤器。

另一种替代方法是使用CSS阻止加载页面上的特定div。

1

使用CSS更容易。

HTML(确保所有网页都具有一些独特的标识符,一般在body标签):

<body id="page-1"> 

    <div id="menu"> 

    [ ... ] 

CSS

#page-1 #menu{ 
    display:none; 
} 

编辑

我看你”重新在WordPress中工作。 WP自动添加唯一的类到body标签。一般来说,你可以使用类似于你的CSS的东西:

.page.page-id-34{ 
    /* 
     34 should be swapped with the page id. 
     You can customize the classes, 
     so just Inspect Element and see what it is for your page 
    */ 
    display:none; 
} 
+0

CSS应该始终是第一选择! – Sablefoste