Связывание событий с еще не созданными элементами DOM (jquery)

Как связать события с элементами html, которые не существуют во время загрузки script?

Одна часть моего script добавляет их в DOM:

<a class="btn-remove-item" href="">link</a>

Проблема в том, что я не могу просто сделать:

$(document).ready(function(){

    $(".btn-remove-item").click(function(){
        this.parentNode.removeChild(this);
    });
});

.. Я думаю, потому что элемент DOM не существует, когда страница сначала загружается.

Как связать событие с myClass?

Ответ 1

jQuery.live() устарел. Вот принятый ответ, используя jQuery.on():

$(document).on('click', '#btn-remove-item', function() {
    this.parentNode.removeChild(this);
});

Ответ 2

Функция jQuery live() делает следующее:

$("#btn-remove-item").live('click', function() {
    this.parentNode.removeChild(this);
});

Ответ 3

jQuery.live() - это то, что вам нужно.

$(document).ready(function(){

    $("a.myClass").live('click', function() {
        this.parentNode.removeChild(this);
    });
});

Попробуйте: http://jsfiddle.net/mwR8g/

Ответ 4

$(document).ready(function(){
     $(".btn-remove-item").live('click', function() {
        this.parentNode.removeChild(this);
    });
});

Вам нужно использовать live.