javascript
  • jquery
  • 2013-12-08 44 views 1 likes 
    1

    以下是我在其中创建li onclick按钮的脚本,但问题是单击添加按钮后创建的li不会删除,当我单击删除按钮时。请让我知道我做错了什么删除李不适用于动态li

    <p> 
         <ul class=""> 
         <li>Folder Name : <input type='text' class='fname' value='' required='required' /> <input type='button' class='liDelete' value='- Remove' /></li> 
         </ul> 
         </p> 
         <p> 
         <input type="button" name="butadd" id="butadd" value="+ Add New" /> 
         </p> 
    
        $(document).ready(function() { 
    
    
          $('.liDelete').click(function() { 
         li = $(this).parent(); 
         li.remove(); 
        }); 
    
    
         $("#butadd").click(function() { 
          $("ul").append("<li>Folder Name : <input type='text' class='fname' value='' required='required' /> <input type='button' class='liDelete' value='- Remove' /></li>"); 
    
         }); 
        }); 
    

    回答

    1

    试试这个:.on事件。

    演示http://jsfiddle.net/mT5vw/1/

    $(document).ready(function() { 
        $(document).on('click', '.liDelete', function() { 
         li = $(this).parent(); 
         li.remove(); 
        }); 
        $("#butadd").click(function() { 
         $("ul").append("<li>Folder Name : <input type='text' class='fname' value='' required='required' /> <input type='button' class='liDelete' value='- Remove' /></li>"); 
        }); 
    }); 
    
    +0

    哎我运行'$(“#文件夹里”)。每个(函数(E)'函数也和我想知道如何清除活性李时珍在这种情况下, ? – user3027531

    +0

    @ user3027531我认为你找到了解决方案已经在这里:http://stackoverflow.com/questions/20453953/remove-respective-li-from-all':)' –

    0

    您需要使用event delegation因为当处理程序注册的动态因素不存在。

    $('ul').on('click', '.liDelete', function() { 
        var li = $(this).parent(); 
        li.remove(); 
    }); 
    

    演示:Fiddle

    相关问题