Добавление нового элемента
Добрый день.
Второй день не могу понять где грабли... <div id="C1"> <div id="C1M1"></div> <div id="C1M2"></div> </div> Мне надо добавить внутрь #C1 еще один <DIV ID="C1M3"></div> $('#C' + AppID).append('<div>HELLO</div>') - работает как надо. Далее сделал преобразование в $('#C' + AppID).append('').load('AJAX_DATA...'). После чего у меня из документа удаляются <DIV id="C1M1">, <DIV id"C1M2"> и вместо них грузится <div id="C1M3">. Я предполагаю, что суть проблемы в том, что я внутри скобок убрал добавляемый HTML, но как сделать правильно вообще не могу понять. По хорошему мне бы в переменную загрузить AJAX_DATA, а потом вставить ее в .append Но не могу понять как... Спасибо. |
http://jquery.page2page.ru/index.php...L-данных
$('#C' + AppID).append('').load('AJAX_DATA...') Ты вначале добавляешь через append контент, а потом сразу же его перезаписываешь лоадом. load это уже устаревший метод, используй лучше метод ajax http://jquery.page2page.ru/index.php5/Ajax-запрос |
Спасибо, все заработало c .ajax
Не знаю, почему воевал в .load. Несколько дней назад читал и том, что она устарела, и что надо использовать .ajax. Так, собственно, и планировал. Но в голове каша и, видимо, где-то наткнулся на пример с .load. |
И еще вопрос в продолжение предыдущего.
После добавления нового элемента повторно запускаю функцию обработки .click внутренних элементов ВСЕХ <DIV> (в том числе тех, где обработка события уже была). При этом работает не стабильно (на каких-то ДИВах работает, на каких-то нет). Ощущение такое, что функция отрабатывает несколько раз. На сколько корректно повторное добавление обработки события элементу? Может быть надо предварительно удалить (очистить) старые обработчики? Если да, то не очень понял как... Спасибо. |
karden,
клик ставится на то что не добавляется, а всегда есть, в вашем случае на id="C1", используйте on |
Все. Заработало. Спасибо.
Там просто событие не на DIV, а на кучу элементов внутри него, поэтому я сделал .off, а потом .click Предполагаю, что это можно отнести к категории решений "на коленке", но все работает... :) |
karden,
почитайте про делегирование и тогда можно будет назначить 1 клик изначально на старые и новые элементы без всяких off и новых назначений |
Ок, спасибо.
Почитал. Действительно круто. Сейчас буду прикручивать... :) |
Часовой пояс GMT +3, время: 00:34. |