2011-02-23 102 views
2

我想使用JQuery替換HTML無序列表中的背景顏色而不使用HTML中的交替背景顏色UL

+1

你嘗試過這麼遠嗎?爲什麼使用JavaScript?如果您動態生成列表,則無需JavaScript即可輕鬆完成此操作。 –

+0

我只是想動態使用JavaScript來做到這一點! – HTweaks

+1

請問你的問題有一點點細節我想你的'點' –

回答

6

最好的辦法是CSS3 :nth-child選擇:

#myul li:nth-child(odd) { 
    background-color: red; 
} 
#myul li:nth-child(even) { 
    background-color: green; 
} 

,或者如果由於某種原因,你真的需要JavaScript的解決方案:

<style> 
    li.even { background-color: red; } 
    li.odd { background-color: blue; } 
</style> 

var ul = document.getElementById('myul'); 
var items = ul.getElementsByTagName('li'); 
for (var i = 0; i < items.length; i++) { 
    var class = i % 2 == 0 ? 'even' : 'odd'; 
    items[i].className = class; 
} 

或已經提到的,你可以只生成類服務器端。

1
<style> 
.uneven{background-color:red;} 
.even{background-color:green;} 
</style> 
<ul> 
<li class="uneven">A</li> 
<li class="even">B</li> 
<li class="uneven">C</li> 
<li class="even">D</li> 
</ul> 

可能缺少點..

+0

我只是說動態的JavaScript! – HTweaks

+2

那麼你爲什麼要標記'css'? – kapa

+0

因爲我必須使用CSS使用JavaScript:foo.style.backgroundColor =「#cccccc」; – HTweaks