Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.12.2012, 14:05
Новичок на форуме
Отправить личное сообщение для mumus Посмотреть профиль Найти все сообщения от mumus
 
Регистрация: 22.12.2012
Сообщений: 3

Получение позиции созданного элемента.
Здравствуйте, я новичек в джейквери, помогите, пожалуйста. У меня есть страница, в нее загружается через аякс 5 кусков кода, берутся их хтмл файлов. В этих файлах есть дивы с идентификаторами и соответственно стилями. Всё хорошо подгружается, но мне нужно теперь получить позицию этих элементов. Но не могу получить их, пишет что андефайнед.
Позицию получаю так:
var sectionPrice = $('#price').position().top;

в подгружаемом отрывке кода есть <div id="price">blablalbal</div>
Ответить с цитированием
  #2 (permalink)  
Старый 22.12.2012, 19:27
Аватар для Margarita
Аспирант
Отправить личное сообщение для Margarita Посмотреть профиль Найти все сообщения от Margarita
 
Регистрация: 14.09.2012
Сообщений: 83

а вы проверьте что выполняется раньше - загрузка вашего кода или вычисления. Скорее всего, когда вы вычисляете позицию - то элемент еще не загрузился и, соответственно, его еще нет на странице.
Ответить с цитированием
  #3 (permalink)  
Старый 22.12.2012, 21:23
Новичок на форуме
Отправить личное сообщение для mumus Посмотреть профиль Найти все сообщения от mumus
 
Регистрация: 22.12.2012
Сообщений: 3

У меня загрузка аяксом этих элементов идет сразу же после документ.реди...
Ответить с цитированием
  #4 (permalink)  
Старый 22.12.2012, 23:26
Аватар для Margarita
Аспирант
Отправить личное сообщение для Margarita Посмотреть профиль Найти все сообщения от Margarita
 
Регистрация: 14.09.2012
Сообщений: 83

попробуйте вывести вместо определения позиции в консоль $('#price').length
если выдаст 0 или неопределенность - то значит элемента еще нет
Ответить с цитированием
  #5 (permalink)  
Старый 25.12.2012, 12:49
Новичок на форуме
Отправить личное сообщение для mumus Посмотреть профиль Найти все сообщения от mumus
 
Регистрация: 22.12.2012
Сообщений: 3

В общем получилось так, что сразу после загрузки страницы выводит 0, но если потом обновить консоль, то выводит уже 1!
Ответить с цитированием
  #6 (permalink)  
Старый 25.12.2012, 13:54
Аватар для ОлегА
Профессор
Отправить личное сообщение для ОлегА Посмотреть профиль Найти все сообщения от ОлегА
 
Регистрация: 25.08.2011
Сообщений: 420

Сообщение от mumus
В общем получилось так, что сразу после загрузки страницы выводит 0, но если потом обновить консоль, то выводит уже 1!
правильно, потому что когда у вас страница загрузилась т.е. сработал $(document).ready у вас еще не выполнился аякс запрос и не вставил эти элементы на вашу страницу, так что вам надо брать позицию элемента, только после успешного срабатывания аякс запроса
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение элемента в функции, используя each() ansi_str jQuery 0 30.11.2012 09:48
Получение значения соседнего элемента Max Tretyakov Events/DOM/Window 2 27.06.2011 22:01
Браузер не успевает определить высоту вновь созданного через XMLHttpRequest элемента Lockpickup AJAX и COMET 17 25.04.2011 17:58
Получение позиции текста по координатам traa Events/DOM/Window 20 08.02.2011 14:19
Получение стиля элемента. BreatheInTheVoid Элементы интерфейса 4 01.05.2010 17:25