0

何が悪いのかわかりません、助けてください。

新しい Num が渡され、コンソール ログは、activeSlide の正しい要素を見つけていることを示しています

var activeSlide = $("#ep"+newNum);

for (var i=0; i< allSlides.length; i++){

    var slidegrab = $("#ep"+i);

    console.log(slidegrab == activeSlide)
    if (slidegrab == activeSlide){
        console.log("stop loop and stop shuffle");
        return;
    } else {
        slidegrab.appendTo('#slideshow');
    }
}

私のコンソールには、slidegrab 変数と activeSlide 変数の両方の正しい名前が表示されます。条件はループごとに false を表示し、true になることはありません。私は何が欠けていますか?

ありがとう!!

4

2 に答える 2

3

ラッパーの代わりにIDを比較できます。

var activeSlide = $("#ep"+newNum);

for (var i=0; i< allSlides.length; i++){

    var slidegrab = $("#ep"+i);

    if (newNum== i){
        console.log("stop loop and stop shuffle");
        return;
    } else {
        slidegrab.appendTo('#slideshow');
    }
}
于 2013-01-17T18:47:21.107 に答える
3

これらは 2 つの異なる jQuery オブジェクトです。DOM 要素を比較する必要があります。

slidegrab[0] === activeSlide[0]

または、現在のスライドをインデックスごとに追跡し、要素ごとに追跡したくない場合もあります。それはより一般的です。

于 2013-01-17T18:46:21.587 に答える