0

XML を順番に解析しようとしています。一度に複数の属性を検索するだけではない理由は、必要な属性の一部で if ステートメントが必要になるためです。以下のコードを試してみましたが、うまくいきませんでした。空白の応答が返されただけです (コンテンツ領域が空白になり、何も入力されていません)。すでにテスト済みなので、残りのコードが機能することはわかっています。

$.get('wallets.xml', function(data) {
    $('#content').empty();
    var $genders = $(data).find('wallet[gender=' + genderChosen + ']');
    $genders.find('wallet[material="leather"]').each(function() {
        var $wallet = $(this);
        printWallet($wallet);
    });
    });
}

XML の結果を 1 つの属性でフィルター処理し、それらの結果を別の属性でフィルター処理しようとしていることに注目してください。これどうやってするの?

前もって感謝します!

4

1 に答える 1

0

このメソッドは、呼び出したコレクションの子孫findを検索することに注意してください。両方のセレクターがタグ nameを使用しているため、セレクター式でコレクションを絞り込む 2 回目の使用を意図していたと思われます。walletfilter

$.get('wallets.xml', function(data) {
    $('#content').empty();
    var $genders = $(data).find('wallet[gender=' + genderChosen + ']');
    $genders.filter('wallet[material="leather"]').each(function() {
        var $wallet = $(this);
        printWallet($wallet);
    });
});

構文エラーもありましたが、上記のスニペットで修正されています。他に考えられるエラーの原因はprintWallet、何もしないか、XML の形式が正しくない可能性があります。

于 2013-03-28T20:32:13.283 に答える