1

我有以下问题,我不知道如何解决这个问题。

我有一个看起来像这样的 xml 文件:

<Item active="true" price="29.71" artnr="11123" group="fish"
      groupdescription="Fisch-Conv." headline="SeaWater
      src="images/test.png"
       />

基本上我需要找到一个 jQuery 组,如果它是例如“鱼”,那么它会将背景图像更改为另一个.. 所以第四个,即如果组是“棒”,那么将显示另一个图像.. 如果没有组,它应该采用正文 css 中的默认背景图像。

有谁知道如何做到这一点?

4

1 回答 1

1

考虑这个 XML:

<?xml version="1.0"?>
    <Items>
        <Item active="true" price="29.71" artnr="11123" group="fish" groupdescription="Fisch-Conv." headline="SeaWater"  src="images/test.png"/>
        <Item active="true" price="29.71" artnr="11123" group="rods" groupdescription="Fisch-Conv." headline="SeaWater"  src="images/test.png"/>
        <Item active="true" price="29.71" artnr="11123" group="none" groupdescription="Fisch-Conv." headline="SeaWater"  src="images/test.png"/>
     </Items>

我将它存储在一个字符串中,然后在它上面运行 parseXML() ,我将把它推入一个像这样的变量:

var xmlDoc= $.parseXML(myXmlString)

我现在可以将此 xmlDoc 变量用作 DOM 对象并遍历它,如果需要,可以将其作为参数传递给 $()。

$(xmlDoc)

现在,您可以阅读find(), closest()etc 并了解如何在 jQuery 中遍历。

例如,如果我想获得group第一个Item,它位于一个<Item>部分中,我会这样做:

$("Items", xmlDoc).find("item")

然后,您将其收集在一个数组中并循环它以设置您的 bg :

var groups = $("Items", xmlDoc).find("Item").map(function () {
    return $(this).attr("group");
});
var $span = $("<span/>");

$.each(groups, function (i, group) {
    var $spanClone = $span.clone().attr("class", group).html("Class added :" + group + "</br>");
    $spanClone.appendTo("div");
});

而已。这是一个演示:http: //jsfiddle.net/hungerpain/N3mYa/3/

于 2013-06-18T11:34:30.540 回答