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 相关文章推荐
一个封装js代码-----展开收起效果示例
Jul 03 Javascript
jquery ajaxSubmit 异步提交的简单实现
Feb 28 Javascript
Node.js中的缓冲与流模块详细介绍
Feb 11 Javascript
使用命令对象代替switch语句的写法示例
Feb 28 Javascript
js实现全国省份城市级联下拉菜单效果代码
Sep 07 Javascript
解析Vue2 dist 目录下各个文件的区别
Nov 22 Javascript
完美解决axios跨域请求出错的问题
Feb 05 Javascript
vue计算属性和监听器实例解析
May 10 Javascript
countup.js实现数字动态叠加效果
Oct 17 Javascript
vue全屏事件开发详解
Jun 17 Javascript
JavaScript碰撞检测原理及其实现代码
Mar 12 Javascript
微信小程序报错: thirdScriptError的错误问题
Jun 19 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文件操作的详细诠释
2013/06/21 PHP
解析PHP之提取多维数组指定列的方法
2017/01/03 PHP
yii2 上传图片的示例代码
2018/11/02 PHP
php 利用socket发送GET,POST请求的实例代码
2020/07/04 PHP
JS控制表格隔行变色
2006/06/26 Javascript
用一段js程序来实现动画功能
2007/03/06 Javascript
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
浅析jQuery EasyUI中的tree使用指南
2014/12/18 Javascript
Jquery中request和request.form和request.querystring的区别
2015/11/26 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
node-sass安装失败的原因与解决方法
2017/09/04 Javascript
js 两个日期比较相差多少天的实例
2017/10/19 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
js实现窗口全屏示例详解
2019/09/17 Javascript
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
JavaScript实现轮播图效果
2020/10/30 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python编程入门的一些基本知识
2015/05/13 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
vue常用指令代码实例总结
2020/03/16 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
回馈慈善的设计师太阳镜:DIFF eyewear
2019/10/17 全球购物
计算机软件个人的自荐信范文
2013/12/01 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
化妆品促销活动总结
2015/05/07 职场文书
魂断蓝桥观后感
2015/06/10 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书
apache ftpserver搭建ftp服务器
2022/05/20 Servers