JavaScript学习笔记4之 ByClass&json
一、通过class获取标签
var out=document.getElementsByClassName(‘out’);
IE 6 7 8 不支持 getElementsName
是否有办法既能通过class获取标签
又没有兼容问题 ?
首先获取全部的标签,
用for循环遍历到所有类名相同的标签,
遍历的顺序放到数组里,
最后获得一个有相同类名的数组。
两种遍历方法:
一种是全局遍历的方法:只要类名相同的都放进数组
另一种是局部遍历的方法,在局部遍历相同的类。
实例如下:
页面布局:
<div id="box1">
<div class="con">
<span>我是span标签111</span>
</div>
<div class="con">
<span>我是span标签222</span>
</div>
<div class="con">
<span>我是span标签333</span>
</div>
</div>
<div id="box2">
<div class="con">
<span>我是span标签444</span>
</div>
<div class="con">
<span>我是span标签555</span>
</div>
</div>
全局获取:
/*全局获取*/
function byClass1(oClass){//对于全局获取封装成函数
var tags=document.all?document.all:document.getElementsByTagName('*');//获取全部的标签
var arr=[];//创建数组
for (var i = 0; i < tags.length; i++) {//for循环遍历
if (tags[i].className==oClass) {
arr.push(tags[i]);//把类名相同的放在一个数组里
};
};
return arr;
}
var cons=byClass1('con');//调用全局函数,传入参数(所要遍历的类名)
alert(cons.length);//测试
alert(cons[3].innerHTML);//测试
局部获取:
/*局部获取*/
function byClass2(parentID,oClass){//对于局部获取封装成函数
var parent=document.getElementById(parentID);//获得局部的ID
var tags=parent.all?parent.all:parent.getElementsByTagName('*');//不同处:获取特定ID下的所有标签
var arr=[];
for (var i = 0; i < tags.length; i++) {
if (tags[i].className==oClass) {
arr.push(tags[i]);
};
};
return arr;
}
var cons=byClass2('box1','con');//调用局部函数,传入参数(特定的ID名,所要遍历的类名)
alert(cons.length);//测试
alert(cons[2].innerHTML);//测试
二、json
json是一种轻量级的数据交换格式,是 JavaScript 原生格式,是理想的数据交换格式。
1、json对象
json对象以“{”开始 , 以“}”结束,每个“名称”后跟一个“:”(冒号),‘名:值' 对 之间运用 “,”(逗号)分隔。
var json1={ 'name' : '小丽' , 'sex' : '女' , 'age' : '22' } ;
2、json字符串
所谓json字符串,是指该字符串变量的值与json的格式相同,但是不是json对象。
var json2="{ 'name' : '小丽' , 'sex' : '女' , 'age' : '22' }" ;
3、json使用
var json1={ 'name' : '小丽' , 'sex' : '女' , 'age' : '22' } ;
alert( json1.name ); // 弹出 '小丽'
4、json字符串转换为json对象
var json2="{ 'name' : '小丽' , 'sex' : '女' , 'age' : '22' }";
运用 eval( )函数转换
例如:
var json3=eval( '('+json2+')' ) ;
alert( json3.name ); // 弹出 '小丽'
5、json循环
普通for循环
var arr=[2,4,6];
for (var i=0; i<arr.length; i++){
alert(arr[i]); //2 4 6
}
json循环只能用 for in
var jsn={‘a’:8,‘b’:8,‘c’:28};
for (var i in jsn){
alert(jsn[i]); //8 18 28
}
i → json的key , jsn[i] → 对应key的值
JavaScript学习笔记4之 ByClass&json的更多相关文章
- Spring MVC 学习笔记11 —— 后端返回json格式数据
Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...
- JavaScript学习笔记[0]
JavaScript学习笔记[0] 使用的是廖雪峰JavaScript教程. 数据类型 Number 表示数字,不区分浮点整形. === 比较时不转化数据类型. == 反之. NaN与任何值都不想等, ...
- Java程序猿的JavaScript学习笔记(汇总文件夹)
最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...
- Java程序猿的JavaScript学习笔记(8——jQuery选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿JavaScript学习笔记(2——复制和继承财产)
计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...
- Java程序猿的JavaScript学习笔记(3——this/call/apply)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿JavaScript学习笔记(4——关闭/getter/setter)
计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...
- Java程序猿JavaScript学习笔记(14——扩大jQuery UI)
计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...
- javascript学习笔记(四) Number 数字类型
数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数 toExponential() 方法 用科学 ...
随机推荐
- MySQL,MariaDB:Undo | Redo [转]
本文是介绍MySQL数据库InnoDB存储引擎重做日志漫游 00 – Undo LogUndo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版 ...
- Hadoop
Hadoop应用场景 Hadoop是专为离线处理和大规模数据分析而设计的,它并不适合那种对几个记录随机读写的在线事务处理模式. 大数据存储:Hadoop最适合一次写入.多次读取的数据存储需求,如数据仓 ...
- 用Go实现的简易TCP通信框架
接触到GO之后,GO的网络支持非常令人喜欢.GO实现了在语法层面上可以保持同步语义,但是却又没有牺牲太多性能,底层一样使用了IO路径复用,比如在LINUX下用了EPOLL,在WINDOWS下用了IOC ...
- Leetcode 笔记 99 - Recover Binary Search Tree
题目链接:Recover Binary Search Tree | LeetCode OJ Two elements of a binary search tree (BST) are swapped ...
- 利用log4j+mongodb实现分布式系统中日志统一管理
背景 在分布式系统当中,我们有各种各样的WebService,这些服务可能分别部署在不同的服务器上,并且有各自的日志输出.为了方便对这些日志进行统一管理和分析.我们可以将日志统一输出到指定的数 ...
- 一种简单的md5加盐加密的方法(防止彩虹表撞库)
md5加密(或者说摘要算法)大家都很熟悉了 就不解释了 现在很多数据库设计都喜欢用单向加密的方式保存密码,验证时对提交的密码再次加密之后做密文对比 /// <summary> 使用MD5加 ...
- ABP框架 - 授权
文档目录 本节内容: 简介 关于 IPermissionChecker 定义许可 检查许可 使用 AbpAuthorize特性 AbpAuthorize特性注意事项 废止授权 使用 IPermissi ...
- JRebel Windows RegCreateKeyEx(...) returned error code 5.
作为一个JRebel的深度用户,在win10下用JRebel的eclipse插件使用的时候遇到了如下问题: java.util.prefs.WindowsPreferences <init> ...
- Linex 配置php服务器
此文是可以参考 楼主也不是系统管理员只是迫不得已所以自己才找的 大家可以参考 .... ..... 安装apache 安装mysql 安装PHP 测试服务器 php -v 查询php的版本 就这些了 ...
- Xshell生成密钥key(用于Linux 免密码登录)