二、for in 循环
用来循环一个对象中的属性名和属性值的
var object = { name:'小李', age:18, height:'170cm', hobby:'敲代码' } //对象中有多少组键值对,就循环几次 //顺序问题:首先循环数字的属性名(按照从小到大),再把剩下的属性名按照我们写得顺序循环 for(var key in object){ console.log(key);//每一次循环获取的属性名 console.log(object[key])// 获取属性值 在for in 中只能通过对象名[key]来获取 不能写obj.key }
案例:表格隔行换色 (三元运算符满足条件如果有多个执行,可以加上括号,然后使用逗号分隔)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body,div,ul,li{ margin:0; padding: 0; font-family: Arial; font-size:12px; } ul li{ list-style:none; } #list{ margin:10px auto 0; padding:10px; width:500px; border:1px solid #ddd; border-radius:10px; /*background: -webkit-linear-gradient(top left,#31b0d5,#67b168,#ac2925)*/ } #list li{ height:30px; line-height: 30px; cursor:pointer; } .c1{ background:#ddd; } .c2{ background: #a6e1ec; } .c3{ background: #67b168; } </style> </head> <body> <div id='list'> <ul> <li>11111111111111111111111111</li> <li>22222222222222222222222222</li> <li>33333333333333333333333333</li> <li>44444444444444444444444444</li> <li>55555555555555555555555555</li> <li>66666666666666666666666666</li> <li>11111111111111111111111111</li> <li>22222222222222222222222222</li> <li>33333333333333333333333333</li> <li>44444444444444444444444444</li> <li>55555555555555555555555555</li> <li>66666666666666666666666666</li> </ul> </div> <script type='text/javascript'> //原理:操作所有的li,让按照奇偶行的规律,改变他的class样式的属性值,奇数行是c1,偶数行是c2 //通过元素的标签名获取一组元素 // document.getElementsByTagName('元素的标签名字') //在整个文档中(获取的范围,上下文),我们通过元素的标签名来获取一组元素 //获取整个文档的所有的li,他是一个集合,我们把这个集合叫做类数组(类似于数组) //并且类数组是对象数据类型的 // var oLis = document.getElementsByTagName('li'); //索引:就是代表当前是第几个元素的位置下标,索引是从0开始的 //length:代表获取的集合的长度,或者是当前获取了多少li //通过dom方法获取到的类数组可以通过用.item(索引)来获取某一个 var oList = document.getElementById('list'); var oLis = oList.getElementsByTagName('li'); for(var i = 0;i<oLis.length;i++){ var oLi = oLis[i]; i%2===0?oLi.className = 'c1':oLi.className='c2' } </script> </body> </html>
本文章地址http://www.vzeo.com/news/xuetang/800323.html 由 友站网 编辑整理,转载请注明出处