SlideUp Jquery不起作用

时间:2014-09-09 11:07:52

标签: javascript jquery html

我遇到了问题' slideUp'来自jquery。

' slideDown'我隐藏了已打开的按钮,我将其显示在另一个div中。 这应该关闭打开的方框

HTML

  <div class="ciao">
    <div id="cerca"><input type="text" /></div>
      <div id="flip"><a href="#">button</a></div>
         <div id="panel">
           <ul><li>menu 1 </li><li>menu 2 </li><li>menu 3 </li></ul>
         </div>
      </div>

JS

       $("#flip a").click(function(){
        $(this).hide();
        $("#panel").slideDown("slow");
        $('#flip').animate({top:'30px'});
        $('#cerca').append('<a href="#" id="close">CHIUDI</a>');
     });

    $("#cerca a#close").click(function(){
        $(this).parent('#panel').slideUp("slow");
     });

的jsfiddle http://jsfiddle.net/rttoorop/

3 个答案:

答案 0 :(得分:1)

您需要使用事件委派将事件附加到动态创建的元素上。您还需要修改选择器以定位标识为panel的元素:

$("#cerca").on('click','a#close',function(){
   $(this).parent().siblings('#panel').slideUp("slow");
});

<强> Working Demo

答案 1 :(得分:0)

您将'click'事件绑定到不存在的元素。

答案 2 :(得分:0)

您需要动态创建的元素on method的事件委派方法:

$(document).on('click',"#cerca a#close",function(){
        $(this).parent('#panel').slideUp("slow");
     });

I've answered more about event delegation method here