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中的scroll和offset 使用比较的实例与分析
Sep 29 Javascript
chrome不支持form.submit的解决方案
Apr 28 Javascript
简述AngularJS的控制器的使用
Jun 16 Javascript
JS模拟的Map类实现方法
Jun 17 Javascript
js实现3d悬浮效果
Feb 16 Javascript
Spring Boot+AngularJS+BootStrap实现进度条示例代码
Mar 02 Javascript
JavaScript之排序函数_动力节点Java学院整理
Jun 30 Javascript
React-router v4 路由配置方法小结
Aug 08 Javascript
快速解决brew安装特定版本flow的问题
May 17 Javascript
详解mpvue scroll-view自动回弹bug解决方案
Oct 01 Javascript
jquery实现广告上下滚动效果
Mar 04 jQuery
Vue3中toRef与toRefs的区别
Mar 24 Vue.js
关于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
删除无限级目录与文件代码共享
2006/07/12 PHP
PHP 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
模板引擎smarty工作原理以及使用示例
2014/05/25 PHP
PHP实现的带超时功能get_headers函数
2015/02/10 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
2016/09/22 PHP
yii2简单使用less代替css示例
2017/03/10 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
Laravel数据库读写分离配置的方法
2019/10/13 PHP
jQuery 自动增长的文本输入框实现代码
2010/04/02 Javascript
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
基于jQuery实现淡入淡出效果轮播图
2020/07/31 Javascript
利用Jquery队列实现根据输入数量显示的动画
2016/09/01 Javascript
H5手机端多文件上传预览插件
2017/04/21 Javascript
基于vue 开发中出现警告问题去除方法
2018/01/25 Javascript
详解Vue中watch对象内属性的方法
2019/02/01 Javascript
简谈创建React Component的几种方式
2019/06/15 Javascript
js和jquery判断数据类型的4种方法总结
2020/08/28 jQuery
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
深入浅析Python字符编码
2015/11/12 Python
Python设置Socket代理及实现远程摄像头控制的例子
2015/11/13 Python
酷! 程序员用Python带你玩转冲顶大会
2018/01/17 Python
解决Python的str强转int时遇到的问题
2018/04/09 Python
详解python实现数据归一化处理的方式:(0,1)标准化
2019/07/17 Python
opencv调整图像亮度对比度的示例代码
2019/09/27 Python
Whittard官方海外旗舰店:英国百年茶叶品牌
2018/02/22 全球购物
高职助产应届生自荐信
2013/09/24 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
2014年团支部工作总结
2014/11/17 职场文书
2014年团支部年度工作总结
2014/12/24 职场文书
男生贾里读书笔记
2015/06/30 职场文书
某学校的2019年度工作报告范本
2019/10/11 职场文书