0

だから..これは単純なはずです。アンカー要素があります。クリックすると、親要素を削除する関数を呼び出したいです。基本的に、これは親を削除するためのリンクです。

どうすればこれを達成できますか? 以下を使用してみましたが、機能していません。

<div>
     <a href='javascript:removeParent()'>Remove</a>
</div>
<script>
function removeParent() {
     $( this ).parent().remove()
}
</script>

誰でも私を助けることができますか?

複数の属性を持つことができるフォームであるため、これを達成しようとしています...したがって、さらに属性を追加できるため、それらを削除する方法が必要です。

乾杯!

4

2 に答える 2

3

$(this) は、あなたがやっているような要素ではありません。

理想的には、これ:

<a href='#' class='remove'>Remove</a>

$('.remove').on('click', function(e){
    e.preventDefault();
    $(this).parent().remove();
});

ただし、質問のこの部分「したがって、属性を追加できるため、それらを削除する方法が必要です。」は、これを将来の要素に適用する必要があることを意味します

$(document).on('click', '.remove', function(e){
    e.preventDefault();
    $(this).parent().remove();
});

理想的な状況では、jQuery に検索を少なくするため、リスト ラッパーに ID を与え、それを使用して取り外し可能な要素を識別します。

$('#attributelist').on('click', '.remove', function(e){
    e.preventDefault();
    $(this).parent().remove();
});
于 2013-02-03T01:30:34.393 に答える
0

オンロード後に要素を動的に作成する場合は、コンテナを使用するように popnoodle のコードを変更する必要があります。

$('#container').on('click', '.remove', function(e) {...

これは、 class を持つすべての要素が element にあることを前提としていremoveますcontainer。ハンドラーがアタッチされた後に作成された場合でも container、 class のすべての要素に適用される1 つのイベント ハンドラーを作成します。remove

于 2013-02-03T01:42:18.043 に答える