Получение фотографии в текстовом сообщении Tumblr с использованием jquery и JSON - PullRequest
0 голосов
/ 22 марта 2012

Мой опыт работы с jquery и json довольно слабый, поэтому я изучаю tumblr API по мере продвижения. Я хотел бы получить атрибут src с первой фотографии в самой последней "обычной записи". Изображение в посте имеет класс "main".

До сих пор мне удавалось извлечь заголовок поста в промежуток, а URL-адрес поста - в гиперссылку, охватывающую изображение / промежуток.

$(document).ready(function () {
$.getJSON('http://features.futurevague.com/api/read/json?callback=?',
    function(response) {
       $('a#feat0').attr('href',response.posts[0].url);
       $('span#feat0').wrapInner(response.posts[0]['regular-title']);
       $('img#feat0').attr('src',response.posts[0]['regular-body'].find('img.main')[0].attr('src'));
});

});

Третья функция, однако, не работает (и, вероятно, имеет неправильную форму).

Мой HTML, в который я встраиваю контент, выглядит так:

        <a href="#" id="feat0">
        <div class="imgholder">
            <img src="#" class="main" id="feat0">
        <span id="feat0"></span></span>
        </div>
    </a>

Значит, какая-нибудь помощь при использовании метода jquery .find ()?

Ответы [ 2 ]

0 голосов
/ 23 марта 2012

У вас не должно быть 2 идентификаторов с одинаковым значением, для начала.Также, опубликуйте значение response.posts [0] ['регулярное тело'], это поможет .. Удалите идентификатор из диапазона и перейдите

$('#feat0').find('img:first').attr('src', response.posts[0]['regular-body']);

Из комментария в вашем сообщении: ответ.posts [0] это строка здесь, а не HTML!Таким образом, вы не можете использовать «найти» на нем.Вы должны использовать регулярные выражения или даже indexOf для извлечения источника изображения.

0 голосов
/ 22 марта 2012

Может быть regular-body это просто строка, поэтому селектор dom не работает .. Попробуйте с

$(response.posts[0]['regular-body']).find('img.main')[0].attr('src')
...