1

私はこれを修正しようとして過去3時間ぐるぐる回っていましたが、それは非常に奇妙です...

次のように動的に生成される順序付けられていないリストがあります。

var numberOfSlides = 7;

for (i = 0; i < numberOfSlides; i++) {

    main.menu.append("<li class='ui-state-disabled'>List item " + i + "</a></li>");

}

この正しいレンダリング (すべて無効):

List item 0
List item 1
List item 2
List item 3
List item 4
List item 5
List item 6

コードの後半で、指定したアイテムをアクティブにする関数を呼び出します。

enableMenuItem(2);

enableMenuItem: function(slideNumber){

    console.log("slideNumber: " + slideNumber); // log outputs "slideNumber: 2"

    $("ul li").eq(slideNumber).removeClass('ui-state-disabled'); // this doesn't work

}

他の値では正常に機能しますが、2 では機能しません。enableMenuItem(5) を呼び出すと、2 がアクティブになることがわかりました。

おかしいのは、私がこれをやると...

$("ul li").eq(2).removeClass('ui-state-disabled');

...できます。

しかし、これはそうではありません...

if(slideNumber === 2){
    console.log("slideNumber equals 2"); // logs "slideNumber equals 2", so the below line should execute
    $("ul li").eq(2).removeClass('ui-state-disabled'); // doesn't work
}

私は気が狂っているのですか、それともこれは非常に奇妙ですか?

4

2 に答える 2