2012-06-27 58 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