4

現在、jQuery コマンドで .js ファイルを使用して、.xml ファイルの特定の要素を検索しています。必要なデータはすべて簡単に収集できましたが、プレゼンテーションに少し苦労しています。

複数の .xml ファイルの読み込みに同じ .js スクリプトを使用しています。データは、html ドキュメントとリスト形式で収集されます。コードは次のとおりです。

        $upgrade1 = $(xml).find("upgrades").eq(0).next();
        $upgrade2 = $(xml).find("upgrades").eq(1).next();
        $upgrade3 = $(xml).find("upgrades").eq(2).next();
        $("#upgrades").append($upgrade1.text() + "<li>" + $upgrade2.text() + "</li><li>" + $upgrade3.text() + "</li>");

ご覧のとおり、最初にセレクターが必要なテキストをコンパイルし、<li class ="upgrades">. ここでの問題は、一部の .xml ファイルには 3 つすべてではなく 1 つまたは 2 つのアップグレードしかないということです。それでも、関数は<li>.append() 内の要素のために空白の箇条書きを引き出します。

最も簡単な解決策は if ステートメントを使用することですが、セレクターが空白かどうかを確認する方法がどこにも見つからないようです。フォーム要素のチェックについての言及しかありませんが、これは私には役に立ちません。空の文字列または 1 文字未満の文字列をチェックする方法はありますか? 知らない...

誰にもアイデアはありますか?

4

2 に答える 2

8

を使用しlengthます。

if ($('whatever').length == 0) {
  // It's empty
}
于 2013-04-04T19:45:54.903 に答える
2

クエリで each を呼び出すことにより、セレクターを暗黙的に使用することもできます。

$("whatever").each(function () {
    var ctl = $(this);
    ctl.text("bob jones");
});

このようにして、結果が返されないインスタンスを自動的にキャストオフします。

于 2013-04-04T19:48:54.983 に答える