一、通过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的更多相关文章

  1. Spring MVC 学习笔记11 —— 后端返回json格式数据

    Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...

  2. JavaScript学习笔记[0]

    JavaScript学习笔记[0] 使用的是廖雪峰JavaScript教程. 数据类型 Number 表示数字,不区分浮点整形. === 比较时不转化数据类型. == 反之. NaN与任何值都不想等, ...

  3. Java程序猿的JavaScript学习笔记(汇总文件夹)

    最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...

  4. Java程序猿的JavaScript学习笔记(8——jQuery选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  5. Java程序猿JavaScript学习笔记(2——复制和继承财产)

    计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...

  6. Java程序猿的JavaScript学习笔记(3——this/call/apply)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  7. Java程序猿JavaScript学习笔记(4——关闭/getter/setter)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  8. Java程序猿JavaScript学习笔记(14——扩大jQuery UI)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  9. javascript学习笔记(四) Number 数字类型

    数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数  toExponential() 方法 用科学 ...

随机推荐

  1. vim环境变量配置、背景色配置

    我们使用vi或者vim的时候,如果想要显示行号,可能会这样做:切换到命令模式,然后输入set nu,再按回车键就显示了:还有就是咱们在编写程序的时候,有的时候会希望按下回车键后,光标不是每次都在行首, ...

  2. Android NDK debug 方法

    最近又频繁遇到 NDK 的错误,记录一下debug调试的一些经验,以备后续查看 一般来说,在Android Studio中的Monitor中将过滤器的 LOG TAG 设置为 "DEBUG& ...

  3. 学习笔记:URL Protocol在浏览器中打开本地应用程序

    看到阿里的网站上可以通过点击卖家的旺旺图标从而调用本地的阿里旺旺程序,而且还可以传递当前浏览者需要咨询的商品.这是怎么实现的呢?是通过URLProtocol来完成. 原理还没有太清楚,即在系统里注册一 ...

  4. 在Ubuntu13.04中配置Jexus+Mono3.2运行Asp.Net Mvc 4站点 (一)

    这篇文章打算分两部分来写,第一部分介绍在Ubuntu中安装和配置.Net Framework4.5环境,第二部分介绍如何部署Asp.Net Mvc 4站点并确保Mvc4的几个重要特性都能正常工作. 一 ...

  5. Hello Jexus

    一.关于 CentOS CentOS(Community Enterprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照 ...

  6. mono3.2和monodevelop4.0在ubuntu12.04上两天的苦战

    首先第一步是设置ubuntu server 12.04版更新源,推荐中科大的比较快:deb http://debian.ustc.edu.cn/ubuntu/ precise main multive ...

  7. xamarin绑定原生库的一些坑

    最近一个项目涉及到较多的第三方库的绑定技术,中间遇到了几个坑,记录下来与大家分享 绑定Jar库 monoandroid对原生库的调用都通过Android.Runtime.JNIEnv进行调入(http ...

  8. 对CSS中的Position、Float属性的一些深入探讨

    对CSS中的Position.Float属性的一些深入探讨 对于Position.Float我们在平时使用上可以说是使用频率非常高的两个CSS属性,对于这两个属性的使用上面可能大多数人存在一些模糊与不 ...

  9. Go语言实战 - revel框架教程之CSRF(跨站请求伪造)保护

    CSRF是什么?请看这篇博文“浅谈CSRF攻击方式”,说的非常清楚. 现在做网站敢不防CSRF的我猜只有两种情况,一是没什么人访问,二是局域网应用.山坡网之前属于第一种情况,哈哈,所以至今没什么问题. ...

  10. TODO:从数据库中随机抽取一条记录

    TODO:从数据库中随机抽取一条记录 1.最直接,最粗暴的方法先计算记录的总数,然后选择一个从0到记录总数之间的随机数n,利用skip跳过n条记录,这是效率低下的的方法,首先的记录总数,在用skip会 ...