2016-08-24 4 views
-1

У меня есть список, который я добавляю в новый div, когда я нажимаю «Добавить». Как я могу удалить добавленный div каждый раз, когда я нажимаю «УДАЛИТЬ». вот мой код:удалять добавленный div каждый раз, когда я нажимаю на REMOVE

<html> 
<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
</head> 
<body> 
    <div class="content"> 
     <ul class="pricepart"> 
      <li><input type="text" /> 
      <span class="add">ADD+</span></li> 
     </ul> 
    </div> 
    <div class="content"> 
     <ul class="pricepart"> 
      <li> <input type="text" /> 
      <span class="add">ADD+</span></li> 
     </ul> 
    </div> 
<script> 
    $(".add").click(function() { 
     $(this).closest('.content').append('<ul class="pricepart"><li><input type="text"/><span class="remove">Remove -</span></li></ul>'); 
    }); 
</script> 

<script> 
    $(".remove").click(function() { 
     $(this).closest('.content').remove(); 
    }); 
</script>  
</body> 
</html> 
+0

Вы вопрос сбивает с толку. Вы добавляете список в div, поэтому вы не можете сказать «как я могу удалить добавленный div», потому что вы не добавляете div. Пожалуйста, перепишите свой вопрос, чтобы быть более ясным. –

+0

Возможный дубликат [обработчик событий Jquery не работает с динамическим контентом] (http://stackoverflow.com/questions/15090942/jquery-event-handler-not-working-on-dynamic-content) – yuriy636

ответ

2

попробовать этот способ

$(document).ready(function() { 
      $(".add").click(function() { 
       $(this).closest('.content').append('<ul class="pricepart"><li><input type="text"/><span class="remove">Remove -</span></li></ul>'); 

       $(".remove").click(function() { 
        $(this).parents('ul').remove(); 
       }); 
      }); 

     }) 
+0

Лучше было бы делегировать событие , это позволит избежать привязки нескольких событий click к уже ранее добавленному элементу –

2

Изменить сценарий для:

$("body").on("click", ".remove", function() { 
    $(this).closest("ul").remove(); 
}); 

Вы добавите обработчик к каждому элементу с классом «.remove» , даже если он динамически добавлен. Кроме того, я думаю, вы хотите удалить ближайший элемент 'ul'.

Работа скрипку: https://jsfiddle.net/d9dehtqv/

Смежные вопросы