2013-11-09 157 views
0

我剛剛開始使用Javascript。我無法弄清楚爲什麼我的基本功能不起作用。我試圖這樣做,當你點擊按鈕時,「世界」消失。顯示/顯示內容

我真的沒有看到爲什麼這不應該工作的邏輯理由;我基本上從w3schools入門JS教程複製。

我認爲這是html5中新的「隱藏」屬性的問題,但我嘗試了通常的「style =」display:none;「」route too not,it does not work。

這裏是的jsfiddle:http://jsfiddle.net/6qDap/966/

預先感謝幫助我這樣一個簡單的問題!

HTML:

<button type="button" id="my_button" onclick="hide()">Hello</button> 
<div id="my_div">World</div> 

JS:

function hide() 
{ 
document.getElementById('my_div').setAttribute('hidden'); 
} 
+0

在你的jsfiddle,在左上角那裏有對JavaScript加載選項作爲「OnLoad」,將其更改爲「不包裝 - 在」。這對我有效。 –

回答

1

我剛剛意識到你的代碼應該正常工作。您應該嘗試將腳本放在頭部以確保它在DOM之前加載。

忽略我以前的答案:

我認爲你正在尋找display: none

這裏有一個jsfiddle顯示一個例子

+0

當我嘗試它的時候,這並不奏效......好吧,我真的不知道除了謝謝你還有什麼要說的。雖然我確實有一個問題,爲什麼我不能使用html5的「hidden」屬性? –

+0

好了現在。如果我去這裏http:// jsfiddle。net/6qDap/970 /除了不同的ID以外完全一樣,爲什麼它不起作用? –

+0

我之前評論過。變化的onLoad爲「不循環 - 在」 –

1

屬性可能需要設置的值,請​​嘗試:

document.getElementById('my_div').setAttribute('hidden', 'hidden'); 

或者,設置style屬性。

document.getElementById('my_div').setAttribute('style', 'visibility: hidden;'); 
+0

剛剛嘗試過,它也沒有工作... 編輯:試了兩個,不工作。我覺得問題在於onclick,它實際上並沒有調用函數。 –

+0

你在哪裏定義這個?有時訂單可以有所作爲。 – willy

+0

我實際上並沒有在任何東西中使用它,我只是使用jsfiddle上的內容 –

0

爲了讓上的jsfiddle您應該加載上

的JavaScript工作
  • No wrap in - <head> or
  • 沒有包裝 - 在 - <體>

enter image description here

function revealPhotos() { 
    document.getElementById("div_2008").style.display = "none"; 
} 

這裏是你的更新fiddle

+0

哦,這是有道理的,爲什麼我的不能正常工作。但爲什麼這會有所作爲?如果 –

+0

@AnitGandhi打開控制檯,並檢查,然後會出現一個錯誤'未捕獲的ReferenceError:revealPhotos不defined'這意味着你被安裝爲click事件不是他們的revealPhotos功能。總是需要firefox上的firebug等控制檯或開發工具的幫助。 –