Почему я не могу удалить эту форму? - PullRequest
2 голосов
/ 09 января 2012

Я использую функцию .remove () из jQuery, чтобы попытаться удалить форму из DIV на странице, которую я создал, но она не работает. Что-то не так с моим кодом?

Я использовал предупреждение, чтобы увидеть, запускается ли настоящая линия, и это определенно так. В основном у меня есть кнопка удаления на странице, которая, я надеюсь, удалит последнюю добавленную форму, но она этого не делает. Я видел функцию .last () , но не знаю, смогу ли я использовать ее в этом контексте?

HTML:

<input type="button" value="Delete Row" class="removePlacement button blue" />

<div id="placement">
<form id="placement-form" class="placement-form">
    <!-- items -->
</form>
 <form id="placement-form1" class="placement-form">
    <!-- items -->
</form>
 <form id="placement-form2" class="placement-form">
    <!-- items -->
</form>
 <form id="placement-form3" class="placement-form">
    <!-- items -->
</form>
</div>

JQuery:

$(function() {
$('.removePlacement').click(function() {
    $('#placement').remove('form').last();
    // alert('0');
    }); 
});

Ответы [ 2 ]

9 голосов
/ 09 января 2012

Попробуйте:

$(function() {
    $('.removePlacement').click(function() {
        $('#placement').find("form:last").remove();
        // alert('0');
    }); 
});
0 голосов
/ 09 января 2012
$('#placement').remove('form').last();

Что вы говорите jQuery:

  1. Найдите контейнер placement.
  2. Удалите все элементы типа form, так как вы указали толькотип (форма, а не конкретный селектор для класса или определенного элемента).
  3. Возвращает последнее по результатам операции удаления - который не будет ничего возвращать.

Объяснение Карима должно это исправить.Однако, надеюсь, это прояснит почему ваш код вел себя так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...