如何实现Javascript数组索引比较?
我有一个基于单元格内容的表格。单元格内容仅限于特定数据,因此我创建了一个数组。如果我引用数组的索引,我可以设置单元格的样式:如何实现Javascript数组索引比较?,javascript,arrays,Javascript,Arrays,我有一个基于单元格内容的表格。单元格内容仅限于特定数据,因此我创建了一个数组。如果我引用数组的索引,我可以设置单元格的样式: var greencell = ["item1", "item2", etc] var cells = document.getElementById("mytable").getElementsByTagName("td"); for (var i = 0; i < cells.length; i++) { if (cells[i].innerHTML ==
var greencell = ["item1", "item2", etc]
var cells = document.getElementById("mytable").getElementsByTagName("td");
for (var i = 0; i < cells.length; i++) {
if (cells[i].innerHTML == greencell[0]) {
cells[i].style.backgroundColor = "#80ff80";
}
}
var greencell = ["item1", "item2", etc]
var cells = document.getElementById("mytable").getElementsByTagName("td");
var j = 0;
for (var i = 0; i < cells.length; i++) {
for (j = 0; j < greencell.length; j++) {
if (cells[i].innerHTML == greencell[j]) {
cells[i].style.backgroundColor = "#80ff80";
}
}
}
var greencell=[“项目1”、“项目2”等]
var cells=document.getElementById(“mytable”).getElementsByTagName(“td”);
对于(变量i=0;i
但是,我需要访问整个阵列。当我设置比较==
greencell时,不应用样式。我错过了什么?我的做法正确吗?循环通过类似于单元格的数组
循环,并设置循环结果的比较?我现在脑子里乱七八糟的
谢谢 您需要在阵列中循环:
var greencell = ["item1", "item2", etc]
var cells = document.getElementById("mytable").getElementsByTagName("td");
for (var i = 0; i < cells.length; i++) {
if (cells[i].innerHTML == greencell[0]) {
cells[i].style.backgroundColor = "#80ff80";
}
}
var greencell = ["item1", "item2", etc]
var cells = document.getElementById("mytable").getElementsByTagName("td");
var j = 0;
for (var i = 0; i < cells.length; i++) {
for (j = 0; j < greencell.length; j++) {
if (cells[i].innerHTML == greencell[j]) {
cells[i].style.backgroundColor = "#80ff80";
}
}
}
var greencell=[“项目1”、“项目2”等]
var cells=document.getElementById(“mytable”).getElementsByTagName(“td”);
var j=0;
对于(变量i=0;i
如果要为每个项目使用不同的颜色,可以使用数组:
var colors = ["#ff0000", "#00ff00", "#0000ff"];
var cells = document.getElementById("mytable").getElementsByTagName("td");
var j = 0; // You shouldn't redeclare the variable each iteration
for (var i = 0; i < cells.length; i++) {
for (j = 0; j < greencell.length; j++) {
if (cells[i].innerHTML == greencell[j]) {
cells[i].style.backgroundColor = colors[j];
}
}
}
var colors=[“ff0000”、“00ff00”、“0000ff”];
var cells=document.getElementById(“mytable”).getElementsByTagName(“td”);
var j=0;//您不应该在每次迭代中重新声明变量
对于(变量i=0;i
您需要在阵列中循环:
var greencell = ["item1", "item2", etc]
var cells = document.getElementById("mytable").getElementsByTagName("td");
for (var i = 0; i < cells.length; i++) {
if (cells[i].innerHTML == greencell[0]) {
cells[i].style.backgroundColor = "#80ff80";
}
}
var greencell = ["item1", "item2", etc]
var cells = document.getElementById("mytable").getElementsByTagName("td");
var j = 0;
for (var i = 0; i < cells.length; i++) {
for (j = 0; j < greencell.length; j++) {
if (cells[i].innerHTML == greencell[j]) {
cells[i].style.backgroundColor = "#80ff80";
}
}
}
var greencell=[“项目1”、“项目2”等]
var cells=document.getElementById(“mytable”).getElementsByTagName(“td”);
var j=0;
对于(变量i=0;i
如果要为每个项目使用不同的颜色,可以使用数组:
var colors = ["#ff0000", "#00ff00", "#0000ff"];
var cells = document.getElementById("mytable").getElementsByTagName("td");
var j = 0; // You shouldn't redeclare the variable each iteration
for (var i = 0; i < cells.length; i++) {
for (j = 0; j < greencell.length; j++) {
if (cells[i].innerHTML == greencell[j]) {
cells[i].style.backgroundColor = colors[j];
}
}
}
var colors=[“ff0000”、“00ff00”、“0000ff”];
var cells=document.getElementById(“mytable”).getElementsByTagName(“td”);
var j=0;//您不应该在每次迭代中重新声明变量
对于(变量i=0;i
您可以使用检查innerHTML
是否与greencell
的任何元素匹配:
if (greencell.indexOf(cells[i].innerHTML) !== -1) {
cells[i].style.backgroundColor = "#80ff80";
}
if(greencell.indexOf(cells[i].innerHTML)!=-1){
单元格[i].style.backgroundColor=“#80ff80”;
}
您可以使用检查innerHTML
是否与greencell
的任何元素匹配:
if (greencell.indexOf(cells[i].innerHTML) !== -1) {
cells[i].style.backgroundColor = "#80ff80";
}
if(greencell.indexOf(cells[i].innerHTML)!=-1){
单元格[i].style.backgroundColor=“#80ff80”;
}
对于更面向ES6的解决方案,您可以将HTMLCollection
作为数组进行迭代,然后根据单元格的文本确定样式
HTML:
对于更面向ES6的解决方案,您可以将HTMLCollection
作为数组进行迭代,然后根据单元格的文本确定样式
HTML:
“每次迭代重新声明变量”没有意义var
是解析时的事情,而迭代是运行时的事情。谢谢@balint,我正朝这个方向走,但语法不正确。@Ryan是的,对不起,我还在用其他语言思考。“每次迭代都重新声明变量”没有意义var
是一种解析时的东西,而迭代是一种运行时的东西。谢谢@balint我正朝那个方向走,但语法不正确。@Ryan对,对不起,我还在用其他语言思考。谢谢Ryan,这很好!我发现这是编码中最具挑战性的方面,有很多方法可以找到解决方案。谢谢Ryan,这很好!我发现这是编码中最具挑战性的方面,有很多方法可以找到解决方案。