2012-01-09 12 views
2

jQuery内の.remove()関数を使用して、作成したページ上の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'); 
    }); 
}); 

答えて

9

試してみてください。

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

あなたの助けを借りてくれた鮮やかな@ karim79 – zik

0
$('#placement').remove('form').last(); 

あなたがここに行うにはjQueryを言っている何がある:

  1. placementコンテナを見つけます。
  2. タイプ(フォームまたは特定のエレメントに特定のセレクターではない)だけを指定したため、タイプformのエレメントはすべて削除します。
  3. 削除操作の結果に最後に戻ります。返される内容はありません。

カリンの説明で修正する必要があります。しかし、うまくいけば、がなぜあなたのコードがそのように振る舞っていたのかが解消されます。

+0

そうです。ありがとう、相棒。ちょうどJQueryと考えて、それは素晴らしい言語です! – zik

+0

@Kiz jQueryは言語ではありません。これはDOMライブラリです。 –

+0

フェアプレー。それは本当だ。 JavaScriptが言語です。 D'oh! – zik