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 focus不起作用的解决方法(主要是因为dom元素是否加载完成)
Nov 05 Javascript
javascript操作referer详细解析
Mar 10 Javascript
jQuery实现统计复选框选中数量
Nov 24 Javascript
浅谈javascript原型链与继承
Jul 13 Javascript
利用Jquery队列实现根据输入数量显示的动画
Sep 01 Javascript
es6学习笔记之Async函数基本教程
May 11 Javascript
详解使用nvm管理多版本node的方法
Aug 30 Javascript
用Vue写一个分页器的示例代码
Apr 22 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
Jul 03 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
Sep 20 Javascript
前端开发之便利店收银系统代码
Dec 27 Javascript
SSM VUE Axios详解
Oct 05 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
PHP学习之PHP表达式
2006/10/09 PHP
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
PHP将整个网站生成HTML纯静态网页的方法总结
2012/02/05 PHP
PHP+APACHE实现网址伪静态
2015/02/22 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
PHP设计模式之组合模式定义与应用示例
2020/02/01 PHP
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
jquery 操作表格实现代码(多种操作打包)
2011/03/20 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
2012/05/03 Javascript
批量修改标签css样式以input标签为例
2014/07/31 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
node.js中的事件处理机制详解
2016/11/26 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
深入浅析Vue中的 computed 和 watch
2018/06/06 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
小程序如何获取多个formId实现详解
2019/09/20 Javascript
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
python创建列表并给列表赋初始值的方法
2015/07/28 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
Python采用Django开发自己的博客系统
2020/09/29 Python
python常见排序算法基础教程
2017/04/13 Python
python django 实现验证码的功能实例代码
2017/05/18 Python
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
python命令行工具Click快速掌握
2019/07/04 Python
Django 自动生成api接口文档教程
2019/11/19 Python
tensorflow图像裁剪进行数据增强操作
2020/06/30 Python
详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
2020/08/04 Python
销售竞赛活动方案
2014/08/23 职场文书
学生违纪检讨书200字
2014/10/21 职场文书
党员思想汇报材料
2014/12/19 职场文书
酒店圣诞节活动总结
2015/05/06 职场文书
2016年感恩节寄语
2015/12/07 职场文书
Python中Permission denied的解决方案
2021/04/02 Python
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers