2012-07-07 76 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