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 相关文章推荐
利用404错误页面实现UrlRewrite的实现代码
Aug 20 Javascript
理解JavaScript的caller,callee,call,apply
Apr 28 Javascript
$.ajax返回的JSON无法执行success的解决方法
Sep 09 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
Feb 17 Javascript
微信小程序 解析网页内容详解及实例
Feb 22 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
Apr 11 Javascript
微信小程序三级联动地址选择器的实例代码
Jul 12 Javascript
vue-cli中的webpack配置详解
Sep 25 Javascript
Express系列之multer上传的使用
Oct 27 Javascript
移动端手指操控左右滑动的菜单
Sep 08 Javascript
在VUE style中使用data中的变量的方法
Jun 19 Javascript
详解JavaScript 高阶函数
Sep 14 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
印尼林东PWN黄金曼特宁咖啡豆:怎么冲世界上最醇厚的咖啡冲煮教程
2021/03/03 冲泡冲煮
php实现设计模式中的单例模式详解
2014/10/11 PHP
PHP与Java对比学习日期时间函数
2016/07/03 PHP
PHP设计模式之单例模式定义与用法分析
2019/03/26 PHP
javascript+mapbar实现地图定位
2010/04/09 Javascript
Jquery公告滚动+AJAX后台得到数据
2011/04/14 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
2017/03/15 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
vue左右侧联动滚动的实现代码
2018/06/06 Javascript
node中的cookie的具体使用
2018/09/13 Javascript
详解Axios 如何取消已发送的请求
2018/10/20 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
用Python进行TCP网络编程的教程
2015/04/29 Python
八大排序算法的Python实现
2021/01/28 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
分享vim python缩进等一些配置
2018/07/02 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
2019/08/12 Python
基于TensorBoard中graph模块图结构分析
2020/02/15 Python
Mac中PyCharm配置Anaconda环境的方法
2020/03/04 Python
Python脚本破解压缩文件口令实例教程(zipfile)
2020/06/14 Python
基于python实现操作redis及消息队列
2020/08/27 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
研发工程师岗位职责
2014/04/28 职场文书
病媒生物防治方案
2014/05/13 职场文书
趣味运动会加油词
2015/07/18 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
Python 多线程之threading 模块的使用
2021/04/14 Python
Python - 10行代码集2000张美女图
2021/05/23 Python
详解Oracle块修改跟踪功能
2021/11/07 Oracle
Win7/8.1用户可以免费升级到Windows 11系统吗?
2021/11/21 数码科技