document.all还是document.getElementsByName?


Posted in Javascript onJuly 21, 2006
(wuhen注:document.all是ie特有的属性,不是万维网标准) 当页面上的控件同名且多个的时候,你首先做的是什么?判断长度?的确,从程序的严密角度出发,我们是需要判断长度,而且有长度和没长度是两种引用方法.我们来看: 
oEle= document.all.aaa ;//这里有一个aaa的对象,但我们不知道它现在长度是多少,所以没办法对它操作.因此,我们要先做判断长度的过程.如下: 
if(oEle.length){}else{}; 
在两种情况下,花括号里面的内容写法也是不一样的: 
if(oEle.length){ 
   for(var i = 0 ;i<oEle.length;i++){ 
      oEle[i].value........ 
  } 
} 
else{ 
     oEle.value........ 
}; 
但是这样写是不是太复杂了点?而且当花括号里面的代码比较多的时候,我们要写两遍代码,晕了先~ 
还好有document.getElementsByName()这个方法.它对一个和多个的处理是一样的,我们可以用: 
oEle = document.getElementsByName('aaa')来引用 
当oEle只有1个的时候,那么就是oEle[0],有多个的时候,用下标法oEle[i]循环获取,是不是很简单? 
值得一提的是它对Name和ID的同样有效的. 
但是它只能应用到document对象.相对应的,还有另一个方法,可以应用的对象会更广一点: 
getElementsByTagName,比如我知道了一个<DIV ID='aaa'><input/><input/>......</DIV> 
我要取DIV里面的所有input,这样写就可以了:aaa.getElementsByTagName('INPUT'),这样就有效的可以和别的DIV(比如说有个叫bbb的DIV,里面的也是一样的input)相区别. 
同getElementsByTagName相对应,还有一个document.body.all.tags(),能用这个方法的对象比getElementsByTagName要小得多.但比getElementsByName要多. 
到这里我们还要提一下getElementById,它也是只有document对象才能使用,而且返回的是数组的第一个元素,呵呵,它的方法名都写明了是getElement而不是getElements,所以,千万不要搞浑了. 
好了,就到这里吧,休息,休息一会......
Javascript 相关文章推荐
JavaScript TO HTML 转换
Jun 26 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
Nov 14 Javascript
JavaScript中函数声明优先于变量声明的实例分析
Mar 01 Javascript
jQuery中odd选择器的定义和用法
Dec 23 Javascript
一道关于JavaScript变量作用域的面试题
Mar 08 Javascript
Angular2库初探
Mar 01 Javascript
jQuery条件分页 代替离线查询(附代码)
Aug 17 jQuery
使用vue2实现购物车和地址选配功能
Mar 29 Javascript
Vue.js 实现数据展示全部和收起功能
Sep 05 Javascript
Vue加载json文件的方法简单示例
Jan 28 Javascript
利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
Mar 29 Javascript
javascript防抖函数debounce详解
Jun 11 Javascript
关于IFRAME 自适应高度的研究
Jul 20 #Javascript
怎么用javascript进行拖拽
Jul 20 #Javascript
繁简字转换功能
Jul 19 #Javascript
Javascript - HTML的request类
Jul 15 #Javascript
表单的一些基本用法与技巧
Jul 15 #Javascript
popdiv
Jul 14 #Javascript
游戏人文件夹程序 ver 4.03
Jul 14 #Javascript
You might like
PHP的类 功能齐全的发送邮件类
2006/10/09 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
修改apache配置文件去除thinkphp url中的index.php
2014/01/17 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
php实现使用正则将文本中的网址转换成链接标签
2014/12/03 PHP
Ext中下拉列表ComboBox组件store数据格式用法介绍
2013/07/15 Javascript
JS正则验证邮箱的格式详细介绍
2013/11/19 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
js实现瀑布流的三种方式比较
2020/06/28 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
2016/09/02 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
2017/03/04 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
2018/04/23 jQuery
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
vue.js父子组件通信动态绑定的实例
2018/09/28 Javascript
js 实现 list转换成tree的方法示例(数组到树)
2019/08/18 Javascript
js实现打字小游戏
2019/12/17 Javascript
[02:27]2014DOTA2国际邀请赛 VG赛后采访:更大的挑战在等着我们
2014/07/13 DOTA
django框架面向对象ORM模型继承用法实例分析
2019/07/29 Python
Numpy数组array和矩阵matrix转换方法
2019/08/05 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
Python 使用office365邮箱的示例
2020/10/29 Python
python中pdb模块实例用法
2021/01/15 Python
英国儿童图书网站:Scholastic
2017/03/26 全球购物
AMAVII眼镜官网:时尚和设计师太阳镜
2019/05/05 全球购物
Tessabit日本:集世界奢侈品和设计师品牌的意大利精品买手店
2020/01/07 全球购物
财务专业大学生职业生涯规划范文
2013/12/30 职场文书
就职演讲稿范文
2014/05/19 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
副校长个人对照检查材料思想汇报
2014/10/04 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
学会感恩主题班会
2015/08/12 职场文书
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python
python获取对象信息的实例详解
2021/07/07 Python
十大经典日本动漫排行榜 海贼王第三,犬夜叉仅第八
2022/03/18 日漫