Как можно отловить id который добавил с помощью append() ?
Добрый вечер всем. Подскажите как можно отловить id который добавил с помощью append() ?
Вот к примеру есть такой код $('#add_vote').click( function () { $('#div_vote').append('<div><input type="text"/><img src="rem.png" id="rem_vote"/></div>'); }); А как можно отловить клик на id="rem_vote" ? |
С помощью append вы добавляете элемент, это не одно и то же что добавить айди.
Отловить клик это тоже не одно и то же, что отловить айди. Как вариант всегда добавлять этим картинками какой то одинаковый класс и сделать так: $('.my-class').live('click', function(){ alert(this.id) }); |
Nekromancer
Спасибо. Уже правда сам догадался что к чему. Кстати вместо live() лучше on() Вот что в результате вышло $('#add_vote').click( function () { $('#div_vote').append('<div><input type="text"/><img src="rem.png" id="rem_vote"/></div>'); $('#div_vote').on( "click","#rem_vote", function() { $(this).parent().remove(); }); }); Добавляет и удаляет текстовое поле. |
saturn,
ну оно то лучше и вы это наверно прочли в документации jQuery. Но можно заметить, что не все используют версию 1.7+, да и не факт, что ту, в которой хотя бы delegate есть. В общем проще написать live - кто пользуется новой, тот поймёт, что лучше использовать on. А кто не знает - ни разу не пострадает, ведь это одно и то же, в принципе. И on кстати надо вешать ну по клику, а заранее, например так: $('#div_vote').on( "click","#rem_vote", function() { $(this).parent().remove(); }); $('#add_vote').click( function () { $('#div_vote').append('<div><input type="text"/><img src="rem.png" id="rem_vote"/></div>'); }); |
Nekromancer , не знал что on() нужно объявлять заранее., хм, ... буду знать).
|
Часовой пояс GMT +3, время: 10:38. |