<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</body>
複製代碼
用css的方式實現:先給li設置一個css樣式,而後使用css樣式中的奇偶數行xxx:nth-child(2n/2n+1)
的代碼來實現隔行變色css
<style>
ul li {
width: 400px;
height: 100px;
border: 1px solid coral;
margin: 0 auto;
list-style: none;
}
li:nth-child(2n){
background: rgb(36, 218, 193);
}
li:nth-child(2n+1){
background: rgb(187, 43, 43)
}
</style>
複製代碼
第一小部分較爲複雜,簡單來講就是給每一行設置一個背景色,所設計的代碼較多。bash
首先咱們設一個變量,獲取整個li,拿到一個集合
spa
var olis =document.getElementsByTagName('li')
複製代碼
而後給每一行設置一個不一樣的顏色 注意索引[]
設計
olis[0].style.background ='red'
olis[1].style.background ='orange'
olis[2].style.background ='yellow'
olis[3].style.background ='green'
olis[4].style.background ='skyblue'
olis[5].style.background ='blue'
olis[6].style.background ='purple'
複製代碼
以後咱們就能夠拿到一個彩虹狀的隔行變色了
code
第二小部分咱們能夠用for循環來作,具體代碼以下:索引
一樣的先獲取li元素,步驟同上。而後作一個for循環。
get
var olis =document.getElementsByTagName('li')
for (var i = 0; i < 7; i++)
olis[i].style.background='skyblue'
i++
olis[i].style.background='pink'
console.log(i)
複製代碼
第三小部分咱們能夠用判斷語句來寫,具體代碼以下string
一樣的先獲取li元素,步驟同上。而後作一個IF ELSE判斷語句。
console
var olis =document.getElementsByTagName('li')
console.log(i%2)
if (i % 2 == 0) {
olis[i].style.background = 'skyblue'
} else {
olis[i].style.background = 'pink'
}
複製代碼
第四小部分咱們能夠用三元運算來作,‘?’ ‘:’的方式for循環
`一樣的先獲取li元素,步驟同上。而後作一個三元運算`
複製代碼
var olis =document.getElementsByTagName('li')
console.log(i%2)
i%2==0?olis[i].style.background='skyblue':olis[i].style.background='pink'}
複製代碼
第五小部分其實是第四部分的簡化版,做用同樣,從繁化簡
olis[i].style.background =i%2==0 ?'skyblue':'pink'
複製代碼
這就是我總結的幾種不一樣方式的隔行變色的方法!