使用javascript/jQuery进行索引5的循环迭代
我正在为我正在学习的课程为我的初学者项目建立连接四。我无法让它继续前进,越过指数5。虽然在我第一次单击索引5后,它变为红色,但它似乎仍然返回true,即索引5未定义。我认为它会在每次单击之后运行for循环,再次从5开始,但它会返回False,然后返回到下一个索引4,检查该索引,以此类推。我已经查了很多,我只是卡住了。我想不出来 我知道,从长远来看,代码并不完整;我只是想理解这一步,不管代码有多难看,这样我就可以继续下一步了使用javascript/jQuery进行索引5的循环迭代,javascript,jquery,iteration,logic,Javascript,Jquery,Iteration,Logic,我正在为我正在学习的课程为我的初学者项目建立连接四。我无法让它继续前进,越过指数5。虽然在我第一次单击索引5后,它变为红色,但它似乎仍然返回true,即索引5未定义。我认为它会在每次单击之后运行for循环,再次从5开始,但它会返回False,然后返回到下一个索引4,检查该索引,以此类推。我已经查了很多,我只是卡住了。我想不出来 我知道,从长远来看,代码并不完整;我只是想理解这一步,不管代码有多难看,这样我就可以继续下一步了 var gClass = $(".G")
var gClass = $(".G")
function returnBackgroundColor(rowIndex,colIndex){
// console.log($(colIndex[rowIndex]).prop("background-color"));
// console.log(rowIndex);
return($(colIndex[rowIndex]).prop("background-color"));
}
function changeColor(row, someClass){
someClass.eq(row).css("background-color","red");
}
function checkColor(someClass){
someClass.click(function() {
for (var row = 5; row > -1; row--) {
if (returnBackgroundColor(row, someClass) === undefined){
console.log(row);
return changeColor(row, someClass);
}else {
console.log("False");
}
}
})
}
checkColor(gClass)
不要每次单击带有.G类名的元素时都循环遍历它们,而是尝试在click函数中使用jQuery$this关键字。像这样:
function addClickListener(someClass){
$(someClass).each(function () {
this.addEventListener('click', function() {
// an example of how you use the $(this)
$(this).addClass('background-color-red');
});
});
}
这样,您就可以摆脱for循环和索引问题。我已经读过很多书,但似乎找不到我要找的答案。我知道for循环将遍历每个元素,这可能是我的问题。我认为使用行索引??将每个元素个人化,我想我已经正确地写出来了。我只是不知道如何只处理满足if要求的第一个元素,然后停止。我假设在执行.css更改之前,使用行返回并将其分配给变量是一种可行的方法,但我想在继续之前看看你们的想法。