我试图在xml文档中将元素分解为三个级别。它奇怪地经历了13次,但每次都没有返回任何东西。
的xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<webpages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<course id="1">
<photos>
<photo>image1.jpg</photo>
<photo>image2.jpg</photo>
<photo>image3.jpg</photo>
<photo>image4.jpg</photo>
<photo>image5.jpg</photo>
<photo>image6.jpg</photo>
<photo>image7.jpg</photo>
<photo>image8.jpg</photo>
<photo>image9.jpg</photo>
<photo>image10.jpg</photo>
<photo>image11.jpg</photo>
<photo>image12.jpg</photo>
<photo>image13.jpg</photo>
</photos>
</course>
</webpages>
ajax电话的成功:
success: function(entry) {
$self.html(""); // removes the "loading..." notification from container
$self.append('<h1>Multimedia Gallery</h1>');
// gets and parse each child element in <webpages>
$self.append('<div class="galleryTitle"><h4>Photos</h4></div>');
$(entry).find('photos').children().each(function() {
// gets the "id", "title", and "url" of current child element
var elm = $(this);
var photo = elm.find('photo').text();
alert(photo);
// display data
$self.append('<div class="photos"><img src="img/photos/'+photo+'" alt="" /></div>');
});
如果使用完成:是一个成功的方法然后我将重组,但我不认为这是问题。有什么想法吗??如果您需要更多信息,请告诉我您需要的其他代码,谢谢
答案 0 :(得分:1)
如果elm
是$('photos').children()
,那么elm.find('photo')
会返回什么?
我猜你没有,因为你已经在elm
中拥有了照片元素,而且根本不必使用find()
?
$(entry).find('photos').children().each(function() {
var div = $('<div />', {'class':'photos'}),
img = $('<img />', {src: 'img/photos/'+$(this).text(), alt: ''});
$self.append( div.append(img) );
});
答案 1 :(得分:1)
在每个循环中,this
指的是照片节点,因此elm.find('photo').text();
应为elm.text();