2012-06-27 61 views
0

有人可以告诉我我在做什么这个简单的隐藏元素脚本使用 JQuery?当我点击按钮时,它意味着隐藏免责声明标签中的文字。谢谢。使用JQuery失败的隐藏元素

的index.html:

<!DOCTYPE HTML"> 
<html> 
<head> 
<title></title> 
<meta name="" content=""> 
<script src="script.js" type="text/javascript"></script> 
<script type='text/javascript' src='jquery.js'></script> 
</head> 
<body> 
<input type="button" id="hideButton" value="hide"/> 

<div id="disclaimer"> 
<p>This is a disclaimer</p> 

</div> 

</body> 
</html> 

的script.js:

$('#hideButton').click(function() { 

    $('#disclaimer').hide(); 

}); 
+0

检查还引用了jquery.js如果你得到错误,我的猜测是jQuery没有被正确引用。 – Terry

回答

0
$(document).ready(function(){ 
$('#hideButton').click(function() { 

    $('#disclaimer').hide(); 

}); 
}); 

你应该括在文件准备
script.js

+0

是的,您在元素位于DOM之前绑定事件,因此它不附加。你也可以在HTML之后嵌入JavaScript。 – Sp4cecat

+0

谢谢修复它。 – greenpool

1

等待,直到你的DOM加载,然后再加载脚本

演示:http://jsfiddle.net/epinapala/Pm2k6/3/

<!DOCTYPE HTML"> 
<html> 
<head> 
<title></title> 
<meta name="" content=""> 
<script src="script.js" type="text/javascript"></script> 
<script type='text/javascript' src='jquery.js'></script> 
</head> 
<body> 
<input type="button" id="hideButton" value="hide"/> 

<div id="disclaimer"> 
<p>This is a disclaimer</p> 

</div> 
    <script> 
    $('#hideButton').click(function() { 

    $('#disclaimer').hide("slow"); 

}); 
    </script> 
</body> 
</html> 

或者您可以使用

$(document).ready(function(){ 
//this will be executed after dom is loaded. 
}); 
+0

奇怪的是,当它们位于index.html和script.js文件中时,它似乎不起作用。 – greenpool

+0

是的,您应该保留免责声明后的 但是,$(document).ready()应该可以解决这些问题 –

-1

另一种方式围绕

<div id="disclaimer" style="block"> 
<p>This is a disclaimer</p> 

</div> 



<script> 
$('#hideButton').click(function() { 

    $('#disclaimer').css('display','none'); 

}); 
</script> 
+0

'$ .hide()'做同样的事情,不知道这将如何解决问题。 – Terry

+0

$ .hide()与display属性的值保存在jQuery的数据缓存中的值相同。所以我只是建议另一种方式,不必等待dom完全加载。 – lukesUbuntu