0

私には簡単なコードのように思えますが、 each() 関数の console.log は単に呼び出されていません:

    function updateLinks()
    {
        console.log("updateLinks() called");
        $("a .appended").each(function()
        {
            console.log("Checking for " + this.id + " in array");
            if($.inArray(this.id, savedTopics) > -1)
            {
                $(self).text("x");
            }
        });
    }

最初の「updateLinks() が呼び出されました」というメッセージが表示されますが、each() 関数はまったく実行されていないようです。期待される効果は何も起こりません。追加されたクラスは、スクリプトの前半で作成した一連のリンク用です。savedTopics は、ストレージから返される整数の配列であり、この関数が呼び出される直前に設定されます。それはすべてストレージ コールバックで発生します。各リンクには、ストレージ内の整数に関連付けられた特定の ID があります。

このコードの実行を妨げているのは何ですか?

4

2 に答える 2

4

JSFiddle を作成していただけると助かりますが、おそらくそれは、本当に書きたかったのは$("a.appended")、つまり.appendedセレクターがa要素上にあるためでしょうか?

于 2013-06-30T23:50:47.207 に答える
0

$("a .appended")結果が返されない場合、ループは実行されません

于 2013-06-30T23:50:20.087 に答える