どのように動的にロードされたコンテンツをjQueryでターゲットできますか? .live()関数はロードされたコンテンツにイベントを追加する簡単な方法ですが、読み込まれたコンテンツ内のオブジェクトをどのようにターゲットするかはわかりません。私は、メインページ上のコンテナを持っている:jQuery AJAX - ターゲットに読み込まれたコンテンツ
<div id="container">place to load content</div>
とロードされたページ上のコンテナ:
<div id="ajax-container">
<div id="stuff">
<div class="random-class">stuff to be loaded</div>
<div class="random-links"><a href="#" class="delete">delete me</a></div>
</div>
</div>
私は削除するために使用していた「削除」クラスとのリンクを持っています#stuff。私は、jQueryが新しいコンテンツを無視することを知り、そのアンカーにイベントを添付できませんでした。私は.live()関数を発見し、それは私のクリックの問題を修正しました。
$('.delete').live('click', function() {
alert('click event works');
$(this).parent('#stuff').hide();
});
アラートは発生しますが、div#も同様にターゲットに設定できますか?
なぜ '$( "#ターゲット")で非表示();。私は読むことを学ぶ必要がある' – Rafay
DOH。とにかく、parent()のjquery APIを読み込んだ場合、parent()は祖先の最初の層にしか行きません。 #stuffは2層上にあるので動作しません。あなたが3nigmaがparents()を使って示唆したことをしたくない場合、あるいはより効率的なものがよりうまくいくでしょう – scrappedcola