2012-07-07 77 views
0

我需要迭代通过网格,并将更改应用到每行的子节点。例如,如果我有一个3行的网格,我怎么能做到这一点,所以每一行的孩子可以是不同的颜色?这是一些基本的HTML + CSS的JSFiddle来创建一个网格。我想制作它,所以每一行都是不同的颜色。迭代栅格行一次一个

http://jsfiddle.net/onestepcreative/24Ljw/6/

想法?提前致谢!

+0

哪里是小提琴? – Austin 2012-07-07 01:01:15

+0

http://jsfiddle.net/24Ljw/7/ – Austin 2012-07-07 01:08:13

回答

0

下面是一个小提琴,将一类“灰色”追加到奇数行

http://jsfiddle.net/24Ljw/9/

+0

谢谢!我之前使用过这种技术,但我需要为每一行都设置不同的颜色。上面的答案让我朝着正确的方向前进。 – onestepcreative 2012-07-07 01:24:06

0

你有没有听说过这样做的createTreeWalker? https://developer.mozilla.org/en/DOM/document.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];     
}); 

+0

这太好了。我一定会在未来的项目中与此一起玩。谢谢!! – onestepcreative 2012-07-07 06:07:33