0

ページの読み込み後に追加されたタグでremove()jQuery 関数を呼び出そうとしています。このリンクdivを追加しています:div

$(probablyHide).html(addedDiv);
<div class=probablyHide>
 <div onClick="myMethod(this)" class="hide" id="1">i want to hide this div 1</div>
 <div onClick="myMethod(this)" class="hide" id="2">i want to hide this div 2</div>
 <div onClick="myMethod(this)" class="hide" id="3">i want to hide this div 3</div>
</div>

しかし、何らかの理由remove()で正しく動作していません。

function myMethod(div)
{
    var button = $(div).closest('div.otherDiv').find("select[id^='stuff']");    
    button.val(div.id); 
    $(div).remove();
    $(button).trigger('change');
};

奇妙なのは、関数で次の行を編集した場合です。div が削除されます。

  button.val(div.id); 
    $(button).trigger('change');
4

3 に答える 3

4

jQuery を使用する場合は、jQuery イベント ハンドラーを使用します。

$(document).on('click', '.hide', function(){
    var $div = $(this);
    var button= $div.closest('div.otherDiv').find("select[id^='stuff']"); 
    button.val(this.id); 
    $div.remove();
    $(button).trigger('change');
});

また、要素に数値 ID を使用しないようにしてください。

于 2013-07-18T14:46:02.497 に答える