7

例如,我有以下 XML:

<?xml version="1.0"?>
    <extraslist>
        <extra 
            id="0"
            enabled="1"
            quantityavailable="2"
            displayindex="1">
            <extraname>Example 1</extraname>
            <extradesc>Example 1 Description</extradesc>
        </extra>
        <extra 
            id="1"
            enabled="1"
            displayindex="2">
            <extraname>Example 2</extraname>
            <extradesc>Description 2</extradesc>
        </extra>
    </extraslist>

还有一个 .find 函数,可以找到每个额外的内容并在网页上显示结果。

$(xmlExtras).find('extra').each(function(){

});

我将如何编写一个函数,以便如果所有 'extras' = enabled="0" 做某事......

4

4 回答 4

15

正确阅读问题后更新

find您可以使用额外的选择器检查结果的长度:

var $enabledExtras = $(xmlExtras).find('extra[enabled="1"]');

if ($enabledExtras.length == 0) {
    //do something
}

工作的jsFiddle

于 2012-09-21T10:03:16.140 回答
0

你应该试试..

$(xmlExtras).find('extra').each(function(i){
    if($(this).find('enabled) == 0)
    {
       do something...
    }
    else
    {

    }

});

附加信息:这种情况您应该尝试使用 JSON。

于 2012-09-21T10:09:09.877 回答
0

嘿,我被拉出来接电话,但我在这里得到了这个例子:http: //jsfiddle.net/H3eFM/1/

于 2012-09-21T10:16:22.690 回答
0

我希望下面的代码可以帮助你

var xmlText='<?xml version="1.0"?><extraslist><extra id="0" enabled="1" quantityavailable="2" displayindex="1"><extraname>Example 1</extraname></extra></extraslist>';

xmlDoc = $.parseXML(xmlText);

$(xmlDoc).find('extra').each(function(){
//All your code goes here
});
于 2012-09-21T10:19:04.247 回答