Забыли пароль?
Запросите новый здесь.

Автор темы: Zaxap
ID темы: 2189
Информация:
Тема содержит 28 сообщения, была просмотрена 44106 раз.  Имеются прикрепленные файлы.
Просмотр темы
PHP-Fusion Russia » Веб-разработка » Javascript, ajax, jquery
 Распечатать тему
аналог foreach в js или вопрос по $.each jquery
Razor
Ну судя по всему вот так..
Скачать исходники  Код
    if(typeof item.attachments !== "undefined"){
    $.each(item.attachments, function(index, attachments){
    if(typeof attachments.photo !== "undefined"){
    $("#section").append(attachments.photo.photo_75);
    }else{hello="100";hello2="200";}
    });
    }
   



Например...
 
Zaxap
Razor, все работает, ура!
НО! Проблема в том, что в #section подгружаются не только картинки, но и какой-никакой текст...
Если иначе никак, то придется помозговать.

Можно, в принципе, создать много-много вариантов в зависимости от "есть аттач"/"есть фото в аттач"/"есть видео в аттач"/есть фото и видео в аттач"... но это просто нереально тупо...

---

М-да-а... действительно нереально тупо )))

Если сделать так
Загрузить источник  GeSHi: Javascript
  1. $("#section").append("<article>"+text+date+"</article>");
  2. if(typeof item.attachments !== "undefined"){
  3. $.each(item.attachments, function(index, attachments){
  4. if(typeof attachments.photo !=="undefined"){
  5. photo = attachments.photo;
  6. small_photo = photo.photo_75;
  7. $("#section article").append("<img src=\""+small_photo+"\" alt=\"\">");
  8. }
  9. });
  10. }
Добавлено за 0.002 секунд, используя GeSHi 1.0.8.10

то картинки, естественно, будут добавляться во все теги article...

---

Другого варианта точно нет?
Изменил(а) Zaxap, 20.05.2014 20:26
Зло не дремлет, а я добрый...
 
Rush
http://api.jquery...selectors/
 
Web
Zaxap
Rush, это никак не поможет мне добавлять нужные картинки в нужные теги...
Изображения добавляются, но добавляются при этом и перед всеми </article>.
Итого под конец подгрузки перед самым первым </article> оказываются собраны все подгруженные картинки...

Объединено 24.05.2014 22:41:
Долгие годы ожиданий...

Загрузить источник  GeSHi: Javascript
  1. $("#section > article:last:last-child").append("<img src=\""+small_photo+"\" alt=\"\">");
Добавлено за 0.001 секунд, используя GeSHi 1.0.8.10


Чертов :last-child... только сейчас допер, как именно он распределяет нужные картинки по нужным тегам (article)... :)

---

Спасибо, Rush))00000000000000000000
Изменил(а) Zaxap, 24.05.2014 12:41
Зло не дремлет, а я добрый...
 
Polarfox
Селекторы почти одинаковы по логике с CSS смотри как там и поймешь.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
Zaxap
PolarFox, просто сначала не стал использовать, почитав в доках про селекторы на офф сайте jq...
Потом просто воткнул от безысходности...
Потом долго-долго осознавал, как же оно работает...
Потом врубился... оно же все в foreach))

-------- спустя несколько месяцев --------

Здравствуйте, форумчане! И снова я тут, и снова я с подобным вопросом.

Есть такой код:

Загрузить источник  GeSHi: Javascript
  1. //...
  2. if(typeof attachments.video !=="undefined"){
  3. video = attachments.video;
  4. $('#section > article:last-child').append("<div class=\"video\"></div>");
  5. $.ajax({
  6. dataType: "jsonp",
  7. url: video_get_url,
  8. method: 'POST',
  9. success: function(video_get){
  10. $.each(video_get.response.items, function(index, video_get){
  11. $("#section > article:last-child").append("<a href=\""+video_get+"\">"+video_get+"</a><br>");
  12. });
  13. }
  14. });
  15. }
  16. //...
Добавлено за 0.002 секунд, используя GeSHi 1.0.8.10

Тут проблема, собственно, та же: видео добавляется в каждый из <div class="video"></div>, не взирая на селекторы (примерно понимаю, почему, но вот как решить...).
Все остальное работает верно.

Как это можно исправить?
Изменил(а) Zaxap, 16.11.2014 07:11
Зло не дремлет, а я добрый...
 
Polarfox
что тут непонятного, так это то - что наверху за условие?
Если тебе нужно на каждый "#section > article:last-child" повесить свой обработчик, то смотри each() например Google Search jquery each
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
Zaxap
PolarFox, условие на проверку "а есть ли видео".
В итоге решил грузить картинки к видео, а при нажатии на картинку (.on('click'ad) открывать, собственно, видео в модальном окне, подгружая ссылку через $.ajax(), функцию переместил из этой периодической мути (так ссылки грузятся по несколько раз подряд каждая) в конец документа - все работает.
Зло не дремлет, а я добрый...
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)