こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

jQueryでXMLを操作

jQueryでXMLを操作

最近jQueryを勉強しはじめました。
jQueryでXMLを読み込んで、item val="new"を含んだデータのみ<ul></ul>内に表示したいのですが
うまくいきません。
ご教授願います。

また、こういったjQueryの使い方に関する、お勧めの本やページ等ございましたら
教えてください。宜しくお願い致します。

-------------------------XML Data-------------------------
<data>

<item val="new">
<link>01.html</link>
<name>ほげ田 ほげ太</name >
<photo>dummy.jpg</photo>
</item>

<item val="new">
<link>02.html</link>
<name>ほげ田 ほげ子</name >
<photo>dummy.jpg</photo>
</item>

<item val="new">
<link>03.html</link>
<name>ほげ山 ほげ太</name >
<photo>dummy.jpg</photo>
</item>

<item>
<link>04.html</link>
<name>ほげ山 ほげ子</name >
<photo>dummy.jpg</photo>
</item>

</data>

-------------------------JavaScript-------------------------

$(function(){
$.ajax({
url: 'doctors/data.xml',
dataType: 'xml',
timeout: 1000,
error: function(){
alert("xmlファイルの読み込みに失敗しました");
},
success : function(data){
$("item",data).each(function(){
if($("item",this).attr("val") == "new"){
$(".column").append('<li><a href="'+$("link",this).text()+'"><img src="image/'+$("photo",this).text()+'" alt="'+$("name",this).text()+'" title="'+$("name",this).text()+'"></a></li>');
}
})
}
})
$("li.noJavaScript").remove();
})

-------------------------HTML-------------------------

<div id="wrapper">
<ul class="column">
<li class="noJavaScript">javaScriptを有効にしてください。</li>
</ul>
</div>

投稿日時 - 2010-08-15 16:48:29

QNo.6111214

困ってます

質問者が選んだベストアンサー

ほぼ微修正ですが。

$(function(){
$.ajax({
url: "doctors/data.xml",
dataType: 'xml',
timeout: 1000,
error: function(){
alert("xmlファイルの読み込みに失敗しました");
},
success: function (data){
$(data).find("item").each(function(){
if($(this).attr("val") == "new"){
$("ul.column").append('<li><a href="'+$(this).find("link").text()+'"><img src="image/'+$(this).find("photo").text()+'" alt="'+$(this).find("name").text()+'" title="'+$(this).find("name").text()+'"></a></li>');
}
});
}
});
$("li.noJavaScript").remove();
});

投稿日時 - 2010-08-15 18:21:06

お礼

解決しました!ありがとうございます!
.finde というAPIが持っている本には載っておらず
初めて知りました!
ありがとうございます。

投稿日時 - 2010-08-16 10:53:00

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問