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>

そして、各エクストラを検索して結果を Web ページに表示する .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 に答える