.show()没有显示!

时间:2011-03-01 14:04:28

标签: jquery

<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({...它没有帮助!

7 个答案:

答案 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();

    });
});