jquery
  • dom
  • 2012-09-13 168 views 0 likes 
    0

    我試圖添加和刪除點擊div。 我成功添加它,但無法找出刪除部分。點擊附加和刪除元素

    • +問題:DOM中的.remove()元素是否完全刪除?

    HTML:

    <center> 
    <a href='#' id='gogo'>Add</a> 
    <div id='sexy'></div> 
    </center> 
    

    的jQuery:

    var extra="<div class='bass'><a href='#' class='gaga'>Remove</a></div>"; 
    
    $('#gogo').on('click', function(){ 
    
    
        $('#sexy').append(extra); 
    
    
    
    }); 
    
    $('.gaga').on('click', function(){ 
    
    
        $(this).parent().remove(); 
    
    
    
    }); 
    

    的jsfiddle: http://jsfiddle.net/Vmhe2/1/

    回答

    1

    是的,.remove()會從DOM樹中完全刪除元素。


    但是,您刪除的代碼應該是這樣的:

    $('#sexy').on('click', '.gaga', function(e){ 
        e.preventDefault(); // as .gaga is anchor, so use preventDefault() 
             // to stop default page load of browser 
        $(this).parent().remove(); 
    }); 
    

    至於要追加.gaga動態,所以你需要委託事件處理,並且可以使用.on()方法做到這一點。

    Working sample


    .on()爲代表事件(又名生活)語法是:

    $(StatciParent).on(eventName, target, handlerFunction); 
    

    其中,StaticParent指給target元素的父元素,它不是動態的,target是你需要綁定事件的元素。

    1

    是,T他的元素完全從DOM中刪除。

    1

    當您註冊事件處理程序時,此時DOM元素必須存在。如果你想讓它動態綁定,使用委託():http://api.jquery.com/delegate/

    2

    這應該有助於

    $('#gogo').on('click', function(){ 
    
        $('#sexy').append(extra); 
    
        $('.gaga').on('click', function() { 
         $(this).parent().remove(); 
        }); 
    
    }); 
    

    我提出刪除功能附加額外的div

    1

    http://jsfiddle.net/Vmhe2/49/

    試試這個:)之後

    相關問題