Javascript 循环不通过的条件内部。为什么?
我不知道怎么了,请帮忙 传入新的Num,控制台日志显示它正在为activeSlide找到正确的元素Javascript 循环不通过的条件内部。为什么?,javascript,jquery,for-loop,conditional-statements,Javascript,Jquery,For Loop,Conditional Statements,我不知道怎么了,请帮忙 传入新的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){ c
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');
}
}
var-activeSlide=$(“#ep”+newNum);
对于(var i=0;i
我的控制台将显示slidegrab和activeSlide变量的正确名称。对于每个循环,条件将显示false,而从不显示true。我错过了什么
谢谢 它们是两个不同的jQuery对象。您需要比较DOM元素
slidegrab[0] === activeSlide[0]
或者,您可能希望按索引而不是按元素跟踪当前幻灯片。这更常见。它们是两个不同的jQuery对象。您需要比较DOM元素
slidegrab[0] === activeSlide[0]
或者,您可能希望按索引而不是按元素跟踪当前幻灯片。这更常见。您可以比较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');
}
}
var-activeSlide=$(“#ep”+newNum);
对于(var i=0;i
您可以比较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');
}
}
var-activeSlide=$(“#ep”+newNum);
对于(var i=0;i
它们可能是两个不同的jQuery包装器。您可能需要按ID比较它们?为什么不比较newNum
和i
呢?您的console.log应该为您提供true
或false
它们可能是两个不同的jQuery包装器。您可能需要按ID比较它们?为什么不比较newNum
和i
呢?根据变量的名称,您的console.log应该为true
或false
会非常混乱!根据变量的名称将非常混乱!谢谢,这些小东西让我……我是一个写javascript的动作脚本编写者。我会考虑改用索引,也许对优化更好。谢谢,这些小东西让我明白了…我是一个写javascript的actionscripter。我将研究如何使用索引,这对于优化可能更好。