0

私が達成しようとしている2つのこと。1) クローン メソッドを使用して、ユーザーが複数のテキスト ボックス項目を、現在動作しているようにテキスト ボックスの下ではなく、テキスト ボックスに隣接する削除リンクで追加できるようにしたいと考えています。2)。「削除」リンクをクリックすると、親リスト項目を削除してリンクを削除したい。私は答えを探しましたが、答えは思いつきませんでした。また、クローンよりも優れた方法が機能する場合は、提案と説明をお待ちしています.

私のjsfiddleコード:

$('#click').click(function(){
var clone = $('li:last').clone()
if(!clone.find('.del')[0]) clone.append('<a href="#" class="del">Delete</a>')

clone.appendTo('ul');
    });

$('ul').on('click', 'li .del', function(){
     $(this).closest('li').remove();
        });
4

2 に答える 2

0

更新されたフィドルを参照してくださいhttp://jsfiddle.net/juanpastas/56wuv/17/

基本的に、まだ作成されていない要素のイベントを処理する必要があります。

$('ul').on('click', 'li .del', function(){

そして、このセレクターを使用するには

$(this).closest('li')

実際に配置する必要があります$(this)。つまり、.del要素内のli要素

var clone = $('li:last').clone().append('<a href="#" class="del">Delete</a>')
clone.appendTo('ul');

アップデート

if(!clone.find('.del')[0]) clone.append('<a href="#" class="del">Delete</a>')

clone.find('.del') // returns elements with del class inside the cloned element
[0]                // gets the first element in these elements, undefined if no del elements found
!                  // negates undefined, i.e. true,

// so code enter if when there is no del element

clone.append('<a...'  // append delete if there is no delete link
于 2013-05-06T02:19:42.690 に答える
0

2つのこと:

1) ロード時にのみ偶数をバインドするため、リンクを作成するときにアクションがなく、jQuery on()を使用します。

$(document).on('click', '.del',function(){...}

2)親の最も近い検索、以前liのものが必要なので、使用しますjQuery prev()

ここでフィドル:http://jsfiddle.net/56wuv/15/

于 2013-05-06T02:20:53.407 に答える