Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.01.2016, 12:07
Аспирант
Отправить личное сообщение для karden Посмотреть профиль Найти все сообщения от karden
 
Регистрация: 16.01.2016
Сообщений: 57

Добавление нового элемента
Добрый день.

Второй день не могу понять где грабли...

<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 Но не могу понять как...

Спасибо.

Последний раз редактировалось karden, 18.01.2016 в 12:11.
Ответить с цитированием
  #2 (permalink)  
Старый 18.01.2016, 12:37
Аспирант
Отправить личное сообщение для razorg1991 Посмотреть профиль Найти все сообщения от razorg1991
 
Регистрация: 10.11.2012
Сообщений: 98

http://jquery.page2page.ru/index.php...L-данных

$('#C' + AppID).append('').load('AJAX_DATA...')


Ты вначале добавляешь через append контент, а потом сразу же его перезаписываешь лоадом.
load это уже устаревший метод, используй лучше метод ajax
http://jquery.page2page.ru/index.php5/Ajax-запрос
Ответить с цитированием
  #3 (permalink)  
Старый 19.01.2016, 11:09
Аспирант
Отправить личное сообщение для karden Посмотреть профиль Найти все сообщения от karden
 
Регистрация: 16.01.2016
Сообщений: 57

Спасибо, все заработало c .ajax

Не знаю, почему воевал в .load. Несколько дней назад читал и том, что она устарела, и что надо использовать .ajax. Так, собственно, и планировал. Но в голове каша и, видимо, где-то наткнулся на пример с .load.
Ответить с цитированием
  #4 (permalink)  
Старый 19.01.2016, 11:20
Аспирант
Отправить личное сообщение для karden Посмотреть профиль Найти все сообщения от karden
 
Регистрация: 16.01.2016
Сообщений: 57

И еще вопрос в продолжение предыдущего.

После добавления нового элемента повторно запускаю функцию обработки .click внутренних элементов ВСЕХ <DIV> (в том числе тех, где обработка события уже была). При этом работает не стабильно (на каких-то ДИВах работает, на каких-то нет). Ощущение такое, что функция отрабатывает несколько раз.

На сколько корректно повторное добавление обработки события элементу? Может быть надо предварительно удалить (очистить) старые обработчики? Если да, то не очень понял как...

Спасибо.
Ответить с цитированием
  #5 (permalink)  
Старый 19.01.2016, 11:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

karden,
клик ставится на то что не добавляется, а всегда есть, в вашем случае на id="C1", используйте on
Ответить с цитированием
  #6 (permalink)  
Старый 19.01.2016, 12:21
Аспирант
Отправить личное сообщение для karden Посмотреть профиль Найти все сообщения от karden
 
Регистрация: 16.01.2016
Сообщений: 57

Все. Заработало. Спасибо.

Там просто событие не на DIV, а на кучу элементов внутри него, поэтому я сделал .off, а потом .click

Предполагаю, что это можно отнести к категории решений "на коленке", но все работает...
Ответить с цитированием
  #7 (permalink)  
Старый 19.01.2016, 12:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

karden,
почитайте про делегирование и тогда можно будет назначить 1 клик изначально на старые и новые элементы без всяких off и новых назначений
Ответить с цитированием
  #8 (permalink)  
Старый 19.01.2016, 12:43
Аспирант
Отправить личное сообщение для karden Посмотреть профиль Найти все сообщения от karden
 
Регистрация: 16.01.2016
Сообщений: 57

Ок, спасибо.

Почитал. Действительно круто. Сейчас буду прикручивать...

Последний раз редактировалось karden, 19.01.2016 в 12:52.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не работает селектор для нового элемента Prorab337 jQuery 21 10.12.2015 14:58
Блокирование интерфейса. Добавление нового элемента vychmat Элементы интерфейса 5 20.03.2014 15:04
Создание программно нового элемента в Sortable Novozar2 jQuery 2 06.03.2014 15:47
Ext.tree, динам. добавление элемента Margarita ExtJS 0 24.12.2012 15:00
Добавление нового элемента в документ htaccess Оффтопик 7 22.06.2010 23:49