Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一次迭代一行网格_Javascript_Grid_Loops - Fatal编程技术网

Javascript 一次迭代一行网格

Javascript 一次迭代一行网格,javascript,grid,loops,Javascript,Grid,Loops,我需要遍历一个网格,并将更改应用于每行的子项。例如,如果我有一个3行的网格,我如何使它使每一行的子元素都有不同的颜色?下面是创建网格的一些基本HTML+CSS的JSFIDLE。我想让每一行都有不同的颜色 想法?提前谢谢 这是一个带有简单javascript的版本。您也可以使用第n个子选择器仅使用CSS来实现这一点 这是一个带有简单javascript的版本。您也可以使用第n个子选择器仅使用CSS来实现这一点 这里有一把小提琴,它会在奇数行中附加一个类“灰色” 这里有一把小提琴,它会在奇数行中附

我需要遍历一个网格,并将更改应用于每行的子项。例如,如果我有一个3行的网格,我如何使它使每一行的子元素都有不同的颜色?下面是创建网格的一些基本HTML+CSS的JSFIDLE。我想让每一行都有不同的颜色


想法?提前谢谢

这是一个带有简单javascript的版本。您也可以使用第n个子选择器仅使用CSS来实现这一点


这是一个带有简单javascript的版本。您也可以使用第n个子选择器仅使用CSS来实现这一点


这里有一把小提琴,它会在奇数行中附加一个类“灰色”


这里有一把小提琴,它会在奇数行中附加一个类“灰色”


你听说过createTreeWalker吗

此方法允许您在DOM中迭代节点,而无需递归

不过,您要查找的可能是一个循环。这里是原生js

//Get the elements
var grids = document.querySelectorAll(".grid_row > div"); 

// Make up the colors
var colors = [
    "#fff", "#000", "#666", "#555", 
    "#f4f4f4", "#111", "#222", "#333", 
    "#f0f0f0", "#f2f2f2", "#f8f8f8", "#010101"
];

// Turn it into an array and not a nodeList
grids = Array.prototype.slice.apply(grids);

// Loop over the array
grids.forEach(function(grid, i) {
    grid.style.backgroundColor = colors[i];                
});

你听说过createTreeWalker吗

此方法允许您在DOM中迭代节点,而无需递归

不过,您要查找的可能是一个循环。这里是原生js

//Get the elements
var grids = document.querySelectorAll(".grid_row > div"); 

// Make up the colors
var colors = [
    "#fff", "#000", "#666", "#555", 
    "#f4f4f4", "#111", "#222", "#333", 
    "#f0f0f0", "#f2f2f2", "#f8f8f8", "#010101"
];

// Turn it into an array and not a nodeList
grids = Array.prototype.slice.apply(grids);

// Loop over the array
grids.forEach(function(grid, i) {
    grid.style.backgroundColor = colors[i];                
});

多谢各位。我想这会很成功的!非常感谢你。我想这会很成功的!谢谢我以前使用过这种技术,但我需要每行有不同的颜色。上面的答案让我找到了正确的方向。谢谢!我以前使用过这种技术,但我需要每行有不同的颜色。上面的答案让我找到了正确的方向。这太棒了。我肯定会在未来的项目中玩这个。谢谢这太棒了。我肯定会在未来的项目中玩这个。谢谢