Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.03.2011, 10:27
Аспирант
Отправить личное сообщение для namez Посмотреть профиль Найти все сообщения от namez
 
Регистрация: 21.11.2008
Сообщений: 52

Использовать live?
Привет всем!

Подскажите как сделать append к элементу который был добавлен тоже динамически в dom, через after

то есть дано:

$(function (){
$(".slideBlock").after("<div class=\"centerBlock slidePage\"><div class=\"wrap\"><div class=\"center\"><img src=\"/img/ctrlLeft.png\" widht=28 height=35 class=ctr><ul class=\"reset slidePages\"></ul><img src=\"/img/ctrlRight.png\" widht=26 height=35 class=ctr></div></div></div>");
});



Нужно сделать нечто такое для контейнера .slidePages который выше был добавлен через after:


$(function (){

$('.slidePages').append('<li>1</li>');

});



Не пашет. Я так понимаю надо заюзать jquery.live() но как правильно?
Ответить с цитированием
  #2 (permalink)  
Старый 07.03.2011, 12:07
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от namez
jquery.live()
лучше использовать delegate

в вашем случае все проще:
<script src="http://code.jquery.com/jquery-1.5.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
     $('.foo').after('<div class="bar" />');
	 $('.bar').append('<p>text</p>');
});
</script>

<div class="foo"></div>
Ответить с цитированием
  #3 (permalink)  
Старый 07.03.2011, 12:56
Аспирант
Отправить личное сообщение для namez Посмотреть профиль Найти все сообщения от namez
 
Регистрация: 21.11.2008
Сообщений: 52

Сообщение от monolithed Посмотреть сообщение
лучше использовать delegate

в вашем случае все проще:
<script src="http://code.jquery.com/jquery-1.5.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
     $('.foo').after('<div class="bar" />');
	 $('.bar').append('<p>text</p>');
});
</script>

<div class="foo"></div>

я понял, но у меня один вызов в шаблоне идет а другой в общем скрипте. я поэтому и написал два разных $(function() {
что-то не работает..

.delegate() посмотрю спасибо
Ответить с цитированием
  #4 (permalink)  
Старый 07.03.2011, 13:27
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

namez

В after у Вас slidePage, а в append — slidePages. Будьте внимательнее.

live/delegate Вам никак не поможет, эти два метода навешивают обработчики событий на добавленные элементы, а не осуществляют доступ к ним.
Ответить с цитированием
  #5 (permalink)  
Старый 10.03.2011, 15:35
Аспирант
Отправить личное сообщение для namez Посмотреть профиль Найти все сообщения от namez
 
Регистрация: 21.11.2008
Сообщений: 52

Сообщение от Matre Посмотреть сообщение
namez

В after у Вас slidePage, а в append — slidePages. Будьте внимательнее.

live/delegate Вам никак не поможет, эти два метода навешивают обработчики событий на добавленные элементы, а не осуществляют доступ к ним.
нет именно slidePages это ul -)) а без s родит контейнер
<ul class=\"reset slidePages\"></ul>

всем спасибо, получилось с помощью $(window).load -)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
live() и свой обработчик события igsavenko jQuery 2 14.02.2011 01:23
стоит ли использовать Perl mycoding Серверные языки и технологии 9 12.10.2010 15:33
jquery и live herba jQuery 2 19.06.2010 14:00
live click выполняется несколько раз hara jQuery 9 09.06.2010 10:58
Как заставить браузер использовать закэшированное изображение? fog Общие вопросы Javascript 5 13.08.2009 15:40