2012-03-22 16 views
0

jqueryとjsonの背景がかなり弱いので、私は一緒にtumblr APIを学んでいます。私は、最新の「通常の投稿」の最初の写真からsrc属性を取得したいと思います。投稿の画像には「メイン」のクラスがあります。jqueryとJSONを使用してtumblrのテキストポストで写真を取得する

これまでのところ、投稿のタイトルをスパンに、投稿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')); 
}); 

});

しかし、3番目の機能は機能しません(おそらく不正な形式です)。

私のHTML私はこのようなルックスにコンテンツを埋め込むよ:

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

だから、jQueryの.find()メソッドを使用して任意のヘルプ?たぶん

+0

Firebugに何かエラーがありますか? – gpasci

+0

@gpasci私はファイヤーバグに慣れていませんが、chromeのインスペクタはimgスクリプトの行に次の行を付けました: "Uncaught TypeError:*次にtumblr投稿の本文全体をhtml形式で*検索する方法がありません。 '' –

+0

response.posts [0] ['regular-body']の値は何ですか? – Eric

答えて

0

で試してみてください。 応答:また、[「正規体」] [0] response.postsの値を投稿し、それは... スパンからIDを削除し、あなたの投稿でのコメントから

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

に行くのに役立ちます.posts [0]はHTMLではなく文字列です。だからあなたはそれに "find"を使うことはできません。イメージソースを抽出するには、正規表現またはindexOfに移動する必要があります。

+0

申し訳ありませんが、私はこれの例を得ることができますか? –

+0

???の例 – Eric

+0

indexOfを使用して要素の属性を取得する方法の例。 –

0

regular-bodyは、このように、DOMセレクタが動作しない、単なる文字列..です はあなたが初心者のために、同じ値を持つ2つのidを持つべきではない

$(response.posts[0]['regular-body']).find('img.main')[0].attr('src') 
関連する問題