Элементы, которые вы пытаетесь выбрать, отсутствуют в DOM во время привязки событий click()
.
Взгляните на jQuery.delegate () : Прикрепите обработчик к одному или нескольким событиям для всех элементов, которые соответствуют селектору, сейчас или в будущем, на основеспецифический набор корневых элементов.
$("#replacecontent").delegate("a", "click", function() {
$("#htmlcontent").html('<a href="#">This will work now alert(). Why?</a>');
});
Я предпочитаю .delegate()
, чем .live()
, поскольку это более эффективно, что дает нам простой способ указать контекст для селектора.С .live()
каждый отдельный щелчок по всему документу должен сравниваться с указанным селектором, с .delegate()
только элементами в контейнере $("#replacecontent")
.