2016-12-09 8 views
-1

からの要素の属性とJSONを取得します。いくつかのdivに画像が見つかりました。私はこの作業を行うことができますどのようにURL

このような何か:

$.getJSON ({ 
    method: 'GET', 
    url: 'https://api.instagram.com/oembed/?url=https://www.instagram.com/p/BNijakrAX5y/?taken-by=nba', 
    dataType: 'jsonp', 
    success: function (response) { 
    $('.nekiDiv').append('<img src="'+response.thumbnail_url+'">'); 
    } 
}); 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class="nekiDiv"> 

</div> 

ます。また、ここでそれを見ることができます:あなたが直接URL年代を使用することはできませんすべてのhttps://jsfiddle.net/ag53dm61/

+1

は、URLを知っているし、imgタグを使用していないなぜあなたはHTMLでそれを保つことができる場合'src'にurlを与えますか? –

+0

私はこのようにしたいと思いますが、それがうまくいくかもしれませんが、問題は私がjsでうまくいかず、それを管理する方法が分かりません – ribosed

+0

あなたの質問は直接関連するコードを表示するように編集してください(外部サイトへのilnkに頼るのではなく)質問本体。とにかく、あなたを始めようとするためには、 '$(" span> data-instagram " }); ' – nnnnnn

答えて

0

まず、あなたがinstagram api URLを使用する必要があり、

次に、jsコードを次のように使用できます。

$("[data-instagram]").each(function(el) { 
    $.getJSON({ 
    method: 'GET', 
    url: $(this).data("instagram"), 
    dataType: 'jsonp', 
    success: function(response) { 
     $('.nekiDiv').append('<img src="' + response.thumbnail_url + '">'); 
    } 
    }); 
}) 

Fiddle

あなたはHTMLでnekiDivとdiv要素を作成する必要があります。

そして、あなたが今imgを使用できない理由(私が見る"https://api.instagram.com/oembed/?url=https://www.instagram.com/p/BNijakrAX5y/?taken-by=nba"

0

として最初の例のURLを参照してください:あなたはまだ、実際のサムネイルへのリンクを持っていない、あなたはInstagramのAPIを介して行かなければなりません最初にそれらを取得する)

あなたはdata-instagram属性を持つすべてのspanを選択するために、jQueryのを使用することができます。

$('span[data-instagram]') 

その後、各EL用あなたがInstagram APIを照会するためにリンクしたフィドルの機能を模倣することができます。要求が成功すると、コールバック関数を使用してそれぞれのサムネイル画像を各spanに挿入することができます。

this JSFiddleをご覧ください。

(StackOverflowのスニペットは、トラブルクロスオリジン・リクエストを開始したように見える。)

$('span[data-instagram]').each(function(i, span) { 
 
    $.getJSON({ 
 
    method: 'GET', 
 
    url: 'https://api.instagram.com/oembed/?url=' + span.getAttribute('data-instagram'), 
 
    dataType: 'jsonp', 
 
    success: function(response) { 
 
     var img = document.createElement('img'); 
 
     img.src = response.thumbnail_url; 
 
     span.appendChild(img) 
 
    } 
 
    }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="images"> 
 
    <span data-instagram="https://www.instagram.com/p/BNnmcIVgNLy/?taken-by=nba"></span> 
 
    <span data-instagram="https://www.instagram.com/p/BNlZYpDgwr_/?taken-by=nba"></span> 
 
    <span data-instagram="https://www.instagram.com/p/BNlTnGFAqQ4/?taken-by=nba"></span> 
 
    <span data-instagram="https://www.instagram.com/p/BNlFOilgZ3b/?taken-by=nba"></span> 
 
</div>

+0

これは素晴らしいです、私はもう少し微調整が必​​要です。 htmlで私は '

'(私は私の質問で言及したスパン要素がほんの少ししかない)を持っているので、要求が成功すると、その'
'を作成し、それぞれのスパンではなく、要求が成功したときに作成される「
」。最後に、それは次のようになります: '
...
'ありがとう! – ribosed

関連する問題