JSON
JSON是什么?
数据交换语言, 相当于个给变量打了一个包,可以存放多个东西
JavaScript Object Notation
JSON与数组的区别
Tables | 数组 | JSON |
---|---|---|
length | 有 | 无 |
循环 | for | for in |
下标 | 数字 | 字符串 |
顺序 | 有序 | 无序 |
普通循环 for 、 while
for in 循环:循环(json)对象(由多个东西组成的)的
- 能用普通的循环,尽量使用普通的循环,实在不行才使用for in 循环
for in 语法
for (var 变量名 in json) {
//代码
}
json添加一项:json.xxx = xxx;
json修改一项:json.xxx = xxx; xxx 已经存在
json删除一项:delete json.xxx
JSON 数据的书写格式是:名称/值对。
名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:
"firstName":"John"
关于获取元素
获取元素方式:
a). getElementById(id名称)
b). getElementsByTagName(标签名称)
c). getElementsByClassName(类名)
获取一组元素
可以从ducument下面获取,也可以从某一个父级元素下面获取
不管嵌套的规则
getElementsByClassName
兼容: 高级浏览器
document.getElementsByClassName
高级浏览器: function
IE8-: undefined
封装一个根据class获取元素的方法
getByClass(obj,sClass);
返回符合要求的元素
function findInArr(item, arr) {
for (var i = 0; i < arr.length; i++) {
if (item == arr[i]) {
// 找到了
return true;
}
}
// 没有找到
return false;
}
// obj - > 从哪个元素下面获取
// sClass -> 类名是什么
function getByClass(obj,sClass) {
if (document.getElementsByClassName) {
// 高级浏览器
return obj.getElementsByClassName(sClass);
} else {
// IE8-
// 通过通配符获取该元素下面的所有的元素
var aEle = obj.getElementsByTagName('*');
var arr = []; // 放符合要求的元素
for (var i = 0; i < aEle.length; i++) {
// 把每一个元素的class通过空格切开
var temp = aEle[i].className.split(' ');
// 在切割返回的数组里面找sClass
if (findInArr(sClass,temp)) {
// 满足要求
arr.push(aEle[i]);
}
}
return arr;
}
}