.live
странно и работает только с селекторами.Я имею в виду, что $('div').live
работает, а $(div).live
- нет.
Кроме того, вам не нужно .each
при применении обработчика щелчка к нескольким элементам.$("a[class^='the_link_']").click
работает как положено.
Ваш код должен быть:
$("a[class^='the_link_']").live("click", function(){
alert($(this).html());
});
ОБНОВЛЕНИЕ: Начиная с jQuery 1.7, .live()
устарело, используйте .on()
вместо.
$(document).on('click', "a[class^='the_link_']", function(){
alert($(this).html());
});
ПРИМЕЧАНИЕ. Если все теги <a>
находятся в одном контейнере, вы можете заменить $(document)
этим контейнером (если он всегда находится в DOM).
РЕДАКТИРОВАТЬ: Вам действительно нужно использовать .live
здесь?Он используется для привязки события к элементам, даже если они добавляются в DOM позже.Если вы никогда не добавляете больше тегов <a>
через JavaScript, просто сделайте это:
$("a[class^='the_link_']").click(function(){
alert($(this).html());
});