Jquery toggle not working

百般思念 提交于 2019-11-28 03:33:25

问题


i am trying to get jquery to hide this div and for some reason it is not working what am i doing wrong

http://stat-me.com/jq.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
#one{
    border:3px solid #00F;
    width:50%;
}
#hideme{
    border:3px solid #00F;
    width:50%;
    display:none;
}
</style>

<script type="text/javascript" src="../_root/js/jquery/jquery-1.4.2.js"></script>

<script language="javascript" type="text/javascript">



$("#one").click(function () {
$("#hideme").toggle();
});

</script>

</head>

<body>

<div id="one">
<a href="#">hello</a>
</div>

<div id="hideme">
hi
</div>


</body>
</html>

回答1:


You need to:

  1. Use document.ready
  2. Select the anchor underneath the #one div, not the div itself

So it should be:

$(document).ready(function() {
  $("#one a").click(function() {
    $("#hideme").toggle();
  });
});



回答2:


Your not wrapping your javascript in $(document).ready(function(){}) etc do jQuery is trying to find an element that doesn't exist yet!




回答3:


I am having the same situation while using ajax and applied this solution. Write javascript:void(0); instead of a '#' in href value. this prevents you to add '#' in url. use .live() when using in ajax mode. in .toggle(), pass argument as effect like 'Drop', 'slide' etc, more at http://jqueryui.com/toggle/.

$(document).ready(function(){
        $('#one a').live('click', function(){
            $('#hideme').toggle('Drop');
            return false;
         });
     });

Applying return false; at last preventing me to reload the page.

Answered just for knowledge.



来源:https://stackoverflow.com/questions/3708086/jquery-toggle-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!