用jquery缩小xml结果

时间:2011-08-24 15:58:47

标签: jquery xml

我试图弄清楚如何使用jquery的$ .get方法从xml文件中提取特定数据。这是我的简单xml文件:

<data> 

<set1>
<image>images/thumbs/test-9-thumb.jpg</image> 
<image>images/thumbs/test-2-thumb.jpg</image>
<image>images/thumbs/test-3-thumb.jpg</image>
</set1>

<set2>
<image>images/thumbs/test-3-thumb.jpg</image>
<image>images/thumbs/test-9-thumb.jpg</image> 
<image>images/thumbs/test-2-thumb.jpg</image>
<image>images/thumbs/test-3-thumb.jpg</image>
<image>images/thumbs/test-2-thumb.jpg</image>
</set2>

</data>

这是我如何提取数据。在这种情况下,我将它用于jcarousel插件,但它并不重要。

     function carousel_callback(carousel){
$('#live-edge-large img').bind('click', function(){
       $.get('ajax/xml-content.php',
    function(xml) {     
    mycarousel_itemAddCallback(carousel,carousel.first,carousel.last,xml);
        },
        "xml"
        );  
 });
};

我需要做的是引入set1或set2标签中的图像,具体取决于最初点击的#live-edge-large img。(#live-edge中将有5-10个图像 - 因此,想法是获取#live-edge-large img的索引号,将其加1,并将其分配给变量,并使用它来定位正确的标记set1或set2。但我无法弄清楚我将如何做到这一点。这里是回调函数,它将图像添加到页面中:

        function mycarousel_itemAddCallback(carousel,first,last,xml) {

    $('image',xml).each(function(i) {       
    carousel.add(first+i, mycarousel_getItemHTML($(this).text()))
    });


      function mycarousel_getItemHTML(url) {
    return'<img src="' + url + '" width="128" height="95" ref="' + reference  +'"/>';

};

所以每个陈述都是我需要处理的。我尝试了一些东西,比如:  function mycarousel_itemAddCallback(carousel,first,last,xml){

    $('set[indexnumber] image',xml).each(function(i) {      
    carousel.add(first+i, mycarousel_getItemHTML($(this).text()))
    });

其中indexnumber是表示最初单击的图像的索引号的变量。

也试过这样的事情:

var x="set"+indexnumber+" image";
$('x',xml).carousel.add(first+i, mycarousel_getItemHTML($(this).text()));

对这些想法都不感兴趣。

如何使用所点击的#live-edge-large img的索引号(或自定义变量,id等)来定位适当的数据集?

感谢。

0 个答案:

没有答案