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 按位与运算符 (&amp;)使用介绍
Feb 04 Javascript
浅谈javascript对象模型和function对象
Dec 26 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
Aug 06 Javascript
json格式的javascript对象用法分析
Jul 04 Javascript
微信小程序 教程之wxapp视图容器 swiper
Oct 19 Javascript
详解vue 中使用 AJAX获取数据的方法
Jan 18 Javascript
BootStrap的双日历时间控件使用
Jul 25 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
Nov 27 Javascript
Vue实现内部组件轮播切换效果的示例代码
Apr 07 Javascript
vue配置font-awesome5的方法步骤
Jan 27 Javascript
vue开发简单上传图片功能
Jun 30 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
Jul 28 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的一个登录的类 [推荐]
2007/03/16 PHP
PHP 飞信好友免费短信API接口开源版
2010/07/22 PHP
PHP中使用sleep函数实现定时任务实例分享
2014/08/21 PHP
yii通过小物件生成view的方法
2016/10/08 PHP
PHP7新特性之抽象语法树(AST)带来的变化详解
2018/07/17 PHP
tp5(thinkPHP5框架)使用DB实现批量删除功能示例
2019/05/28 PHP
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
2010/05/31 Javascript
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
2011/01/17 Javascript
浅说js变量
2011/05/25 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
jquery实现弹出层完美居中效果
2014/03/03 Javascript
JQuery设置时间段下拉选择实例
2014/12/30 Javascript
js实现最短的XML格式化工具实例
2015/03/12 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
详解Angular2响应式表单
2017/06/14 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
写一个Vue Popup组件
2019/02/25 Javascript
优雅的使用javascript递归画一棵结构树示例代码
2019/09/22 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
VUE+Element实现增删改查的示例源码
2020/11/23 Vue.js
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
2019/06/12 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
python中用logging实现日志滚动和过期日志删除功能
2019/08/20 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
Python持续监听文件变化代码实例
2020/07/22 Python
物流专业毕业生推荐信范文
2013/11/18 职场文书
年度考核评语
2014/01/19 职场文书
个人课题方案
2014/05/08 职场文书
2014年六五普法工作总结
2014/11/25 职场文书
六年级学生评语大全
2014/12/26 职场文书
党员个人总结范文
2015/02/14 职场文书
如何使用pdb进行Python调试
2021/06/30 Python
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
2022/06/28 Oracle