XML データ バインディングを使用してサムネイル ギャラリーを作成しようとしています。しかし、データは拘束力がありません。これが私が試しているものです。
ここでは、HTML で使用した画像タグを 1 つだけ使用して、XML にある 3 つの画像すべてを表示したいと考えています。
XML データ バインディングを使用してサムネイル ギャラリーを作成しようとしています。しかし、データは拘束力がありません。これが私が試しているものです。
ここでは、HTML で使用した画像タグを 1 つだけ使用して、XML にある 3 つの画像すべてを表示したいと考えています。
これは使えませんか?
<div id="thumbs"></div>
脚本:
var xml = "<rss version='2.0'><channel><image>http://www.nikon.com/swf/img/thumbnail_ophthalmic_lenses.png</image><image>http://www.nikon.com/swf/img/thumbnail_ophthalmic_lenses.png</image><image>http://www.nikon.com/swf/img/thumbnail_ophthalmic_lenses.png</image> </channel></rss>",
xmlDoc = $.parseXML( xml ),
$xml = $( xmlDoc ),
$image= $xml.find( "image" );
$($image).each(function(index, element) {
$( "<img />" ).attr('src', $(element).text()).appendTo('#thumbs');
});
<img>
画像ごとにタグを作成できます。これを使用.map()
して、すべての画像を含むjQueryオブジェクトを作成し、それらをに追加します。#thumbs
var xml = "<rss version='2.0'>\
<channel>\
<image>http://www.nikon.com/swf/img/thumbnail_ophthalmic_lenses.png</image>\
<image>http://www.nikon.com/swf/img/thumbnail_ophthalmic_lenses.png</image>\
<image>http://www.nikon.com/swf/img/thumbnail_ophthalmic_lenses.png</image>\
</channel>\
</rss>",
xmlDoc = $.parseXML( xml ),
$xml = $( xmlDoc ),
$image= $xml.find( "image" );
$( "#thumbs" ).append( $image.map(function(){
return $('<img>', {className: 'thumbnails', src:$(this).text()})[0];
})
);