jQuery AJAX - целевой загруженный контент - PullRequest
0 голосов
/ 28 июля 2011

Как настроить таргетинг на динамически загружаемый контент с помощью jQuery? Я много об этом читал и нашел, что функция .live () - это простой способ добавить событие в загруженный контент, но я не уверен, как нацеливать объекты в загруженном контенте. У меня есть контейнер на главной странице:

<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>

У меня есть ссылка с классом 'delete', которую я хотел использовать для удаления #stuff. Я обнаружил, что jQuery будет игнорировать более новый контент, и, следовательно, я не мог прикрепить событие к этой привязке. Я обнаружил функцию .live (), и это исправило мою проблему с кликами.

$('.delete').live('click', function() {
    alert('click event works');
    $(this).parent('#stuff').hide();
});

Оповещение сработает, но как мне настроить таргетинг на div #?

Ответы [ 3 ]

2 голосов
/ 28 июля 2011
$('.delete').live('click', function() {
    alert('click event works');
    $(this).closest('div#stuff').hide();
});

вот скрипка http://jsfiddle.net/5tCZH/

1 голос
/ 28 июля 2011

Не уверен, что я понимаю, но $('#stuff') даст вам объект jQuery для этого Div независимо от того, где вы его вызываете. (потерять this.parent)

0 голосов
/ 28 июля 2011

На основании вашего кода: Использование .parent () перемещается только на один уровень вверх по дереву DOM. Вместо этого попробуйте использовать метод .parents () , чтобы пройти несколько уровней.

...