<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
$(document).ready({
$('#sh').click(function(){
$('#container').show();
});
});
</script>
<style type="text/css">
#container {
width:350px;
height:350px;
border:1px solid #000000;
display:none;
}
</style>
</head>
<body>
<div id="container">
<p>paragraph 1</p>
</div>
<div>
<a href="#" id="sh">show</a>
</div>
</body>
</html>
点击链接根本不会触发.show()! 我究竟做错了什么?? 更新:我试过$(文件).ready({...它没有帮助!
答案 0 :(得分:3)
要记住一些事项,只在文档加载完成后加载脚本:
$(function(){
/* Scripts here will run only
after the document has loaded */
});
此外,在使用它们触发操作时,请务必使用prevent the default behavior个链接:
$(function(){
$("#sh").click(function(e){
e.preventDefault();
$("#container").show();
});
});
通过这些更改,代码按预期工作:http://jsfiddle.net/apsje/
答案 1 :(得分:1)
在此
之间添加您的jquery代码$(document).ready(function() {
...
});
答案 2 :(得分:1)
使用此:
因为如果你在真正的HTML之前调用你的脚本,那么你所指的元素还不存在。
$(document).ready( function() {
$('#sh').click(function(){
$('#container').show();
})
通过在$(document)上使用ready事件,确保DOM已完全加载并准备好与之交互。
答案 3 :(得分:1)
绑定点击时,浏览器尚未呈现 #sh 。
尝试以下方法:
$(document).ready(function() {
$('#sh').click(function(){
$('#container').show();
});
});
在文档加载后绑定点击。
答案 4 :(得分:0)
您的代码在DOM中存在元素之前运行。您的脚本块应如下所示:
<script type="text/javascript">
$( function()
{
$( '#sh' ).click( function()
{
$( '#container' ).show();
} );
} );
</script>
答案 5 :(得分:0)
或者将脚本放在</body>
答案 6 :(得分:0)
$(document).ready(function(){
$('#sh').click(function(){
$('#container').show();
});
});