0

我正在使用 jQuery Ajax 调用来获取图像列表。现在它可以工作,但会获取 XML 文件中的所有图像。如何更改我的代码以获取给定主题的所有图像,而不是显示所有主题中的所有图像。

因此,对于每个“主题”标签,我想列出所有“图像”标签。

我知道我必须用 jQuery 更改第 11 行

$(data).find('image').each(function(){

完整的jQuery函数

        <script type="text/javascript">
        $("#ARTH1520").live('pagebeforecreate', function() {
        $.get('data/ARTH1520.xml',function(data){
            $('.content').empty();
            $(data).find('subject').each(function(){
                var $subject = $(this);
                var html = '<div class="data">';                      
                html += '<div data-role="collapsible" data-collapsed="true" data-theme="b"><h3>' + $subject.attr('title') + '</h3>';
                html += '<ul data-role="listview">';

                    $(data).find('image').each(function(){
                    var $image = $(this);
                    html += '<li><img src="' + $image.attr('img') + '" />';
                    html += '<h3>' + $image.attr('title') + '</h3><p>' + $image.attr('description') + '</p></li>';

                    }); 

                html += '</ul>';
                html += '</div></div>';
                $('#result').append(html).trigger( "create" );
                $('#result .loading').remove();
            });                        
        });
        });
    </script>

XML 文件

<subjects>
<subject title="At History One">
    <images>
        <image title="Mona Lisa" img="lisa.jpg" id="s1i1" description="image 1"></image>
        <image title="" img="" id="s1i2" description=""></image>
    </images>
</subject>  
<subject title="Renaissance">
        <images>
        <image title="" img="" id="s1i3" description=""></image>
    </images>
</subject>
4

1 回答 1

1

尝试$subject.find('image').each(function(){ }遍历主题标签内的图像。如您所述,您必须替换第 11 行。

于 2012-06-03T18:32:57.723 回答