2013-11-09 153 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等控制台或开发工具的帮助。 –