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语句中的CDATA标签的意义
May 09 Javascript
jQuery 学习入门篇附实例代码
Mar 16 Javascript
js日期、星座的级联显示代码
Jan 23 Javascript
JavaScript清空数组元素的两种方法简单比较
Jul 10 Javascript
深入学习jQuery Validate表单验证
Jan 18 Javascript
jQuery插件扩展extend的简单实现原理
Jun 24 Javascript
js判断文件格式及大小的简单实例(必看)
Oct 11 Javascript
JS删除String里某个字符的方法
Jan 06 Javascript
基于layPage插件实现两种分页方式浅析
Jul 27 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
Aug 27 Javascript
解决antd的Form组件setFieldsValue的警告问题
Oct 29 Javascript
vue+openlayers绘制省市边界线
Dec 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
东方红 - 来复式再生机的修复
2021/03/02 无线电
PHP register_shutdown_function函数的深入解析
2013/06/03 PHP
解析PHP对现有搜索引擎的调用
2013/06/25 PHP
浅析PHP的ASCII码转换类
2013/07/05 PHP
网站防止被刷票的一些思路与方法
2015/01/08 PHP
thinkPHP中验证码的简单使用方法
2015/12/26 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
jQuery操作表格(table)的常用方法、技巧汇总
2014/04/12 Javascript
Validform+layer实现漂亮的表单验证特效
2016/01/17 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
基于 Vue 实现一个酷炫的 menu插件
2017/11/14 Javascript
JS写谷歌浏览器chrome的外挂实例
2018/01/11 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
vue 利用路由守卫判断是否登录的方法
2018/09/29 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
Vue多组件仓库开发与发布详解
2019/02/28 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题
2020/11/04 Javascript
Python 正则表达式(转义问题)
2014/12/15 Python
使用Python的Flask框架来搭建第一个Web应用程序
2016/06/04 Python
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
python并发编程多进程之守护进程原理解析
2019/08/20 Python
wxPython多个窗口的基本结构
2019/11/19 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
详解H5本地储存Web Storage
2017/07/03 HTML / CSS
金讯Java笔试题目
2013/06/18 面试题
大四学年自我鉴定
2013/11/13 职场文书
机关单位人员学雷锋心得体会
2014/03/10 职场文书
土地租赁意向书
2014/07/30 职场文书
邀请函怎么写
2015/01/30 职场文书
史上最全书信经典范文大全(建议收藏)
2019/07/10 职场文书
启迪人心的励志语录:脾气永远不要大于本事
2020/01/02 职场文书