最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Jquery Hide parent div onclick - Stack Overflow

programmeradmin2浏览0评论

I want to hide parent div when a child div is clicked.I have appended the div when "add more" button is clicked.In short when "X" in div is clicked its parent div should hide.Here is my Fiddle

$( "#appenddiv" ).on( "click", function() {
     $( ".uploadimg" ).append( "<div class='image'><div class='delete'>X</div></div>" );
});
$(".delete").on("click",function(){
    $(this).parent().hide();
});

I want to hide parent div when a child div is clicked.I have appended the div when "add more" button is clicked.In short when "X" in div is clicked its parent div should hide.Here is my Fiddle

$( "#appenddiv" ).on( "click", function() {
     $( ".uploadimg" ).append( "<div class='image'><div class='delete'>X</div></div>" );
});
$(".delete").on("click",function(){
    $(this).parent().hide();
});
Share Improve this question asked Mar 5, 2014 at 11:13 abinayaabinaya 939 bronze badges 2
  • 2 delegation is the keyword you are looking for – A. Wolff Commented Mar 5, 2014 at 11:14
  • And you can be selective too: $(this).closest(".image").hide() – mplungjan Commented Jul 20, 2018 at 14:37
Add a ment  | 

3 Answers 3

Reset to default 6

The reason why your code not working is, That element is being appended in to the DOM dynamically, so we have to use event delegation to make the code work..

Try,

$(".uploadimg").on("click",".delete",function(){
    $(this).parent().hide();
});

DEMO

You need event delegation for dynamically generated DOM:

  $("body").on("click",'.delete',function(){
   $(this).parent().hide();
});

Working Demo

you should use deligates for dynamically created items

 $(document).on("click",".delete" function () {
        $(this).parent().hide();
    });
发布评论

评论列表(0)

  1. 暂无评论