2014-04-03 108 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