document.all还是document.getElementsByName

当页面上的控件同名且多个的时候,从程序的严密角度出发,需要判断长度,而且有长度和没长度是两种引用方法.
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对象)
<div id=radiodiv language=javascript >
<INPUT name=radio1 value=1 type="radio">
<INPUT name=radio1 value=0 type="radio" CHECKED>
</div>

document.getElementsByName("radio1").item(0).value 结果是 1

但是.相对应的,还有另一个方法,可以应用的对象会更广一点:

getElementsByTagName

<div id=radiodiv language=javascript >
<INPUT name=radio1 value=1 type="radio" id=myRadio1>
<INPUT name=radio1 value=0 type="radio" id=myRadio2 CHECKED >
</div>

radiodiv.getElementsByTagName("input").item(0).value 结果是 1

,比如我知道了一个<DIV ID='aaa'><input name=input1 value=1 type=radio ><input name=input1 value=2 type=radio>......</DIV>我要取DIV里面的所有input,这样写就可以了:

aaa.getElementsByTagName('INPUT')

这样就有效的可以和别的DIV(比如说有个叫bbb的DIV,里面的也是一样的input)相区别.

同getElementsByTagName相对应,

还有一个document.body.all.tags()

能用这个方法的对象比getElementsByTagName要小得多.但比getElementsByName要多.

到这里我们还要提一下getElementById

它也是只有document对象才能使用,而且返回的是数组的第一个元素,呵呵,它的方法名都写明了是getElement而不是getElements

<div id=radiodiv language=javascript >
<INPUT name=radio1 value=1 type="radio" id=myRadio1 >
<INPUT name=radio1 value=0 type="radio" id=myRadio2 value="myVal2" CHECKED >
</div>

document.getElementById("myRadio2").value 结果是 myVal2

时间: 2024-08-03 17:55:51

document.all还是document.getElementsByName的相关文章

再谈 document.documentElement 与 document.body 的 scrollWidth、offsetWidth、clientWidth

(scrollHeight.offsetHeight.clientHeight 同样可按本文去理解.) 这是一个很复杂的问题,让我们想像一下: document.documentElement.scrollWidth document.documentElement.offsetWidth document.documentElement.clientWidth document.body.scrollWidth document.body.offsetWidth document.body.c

document.createElement()和document.createDocumentFragment()的比较

我在上一篇文章js中DOM操作复习总结中提到了:document.createElement()和document.createDocumentFragment(),虽说我们平时可以把两者混着用,但是还是得明白两者之间的区别: 一.在DOM操作中document.createElement()每次创建的都是一个DOM节点,所以每次都要执行把节点添加到document.body(或其后的节点)中的操作,这样对于一个小程序运行时没有问题的,但如果他调用了十次甚至一百次一千次document.body

用document.documentElement取代document.body的原因分析_javascript技巧

IE6在页面内容超出窗口大小时将宽度属性scrollWidth.clientWidth.offsetWidth都解释为内容实际宽度. 上次的测试说明了document.body属性并不会给我们返回预期的结果,比如我们用document.body.clientHeight原本想取得"页面可见区域高度",可实际上返回的是"页面实际内容高度". 那我们怎么办呢?难道加上了文档DTD类型之后就再也不能取到"可见区域高度"和"内容实际宽度&quo

js中document.documentElement和document.body用法区别

网页中获取滚动条卷去部分的高度,可以通过 document.body.scrollTop 来获取,比如使div跟着滚动条滚动:  代码如下 复制代码 <div id="div" style="width:100px;height:100px;background:#ccc;position:absolute;"></div> window.onscroll = function () {     var div = document.getE

document.open() 与 document.write()的区别_javascript技巧

document.open()  打开一个新的空白文档,在IE下,open有两个默认参数,相当于document.open("text/html",'""),第二个参数只有一个值可选:replace,如果启用了该值,则新建的文档会覆盖当前页面的文档(相当于清空了原文档里的所有元素,且不能后退即,浏览器的后退按钮不可用): 看一个例子: <SCRIPT LANGUAGE="JavaScript"> <!-- function te

由document.body和document.documentElement想到的_javascript技巧

对于document.compatMode,很多朋友可能都根我一样很少接触,知道他的存在却不清楚他的用途.其实这个对于我们开发兼容性的web页面还是很有帮助,我们都知道,盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在不声明Doctype的情况下,浏览器默认是Quirks Mode.所以为兼容性考虑,我们可能需要获取当前的文档渲染方式. document.compatMode正好派上用场,它有两种可能的返回值:BackCompat和CSS1Compat,对其

document.documentElement和document.body区别介绍_javascript技巧

区别: body是DOM对象里的body子节点,即 <body> 标签: documentElement 是整个节点树的根节点root,即<html> 标签: 没使用DTD情况即怪异模式BackCompat下: 复制代码 代码如下: document.documentElement.clientHeight=0document.body.clientHeight=618 使用DTD情况即标准模式CSS1Compat下: 复制代码 代码如下: document.documentEle

document.documentElement与document.body分析

document.documentelement代替document.body来获取我们想要的结果 将代码中的document.body替换为document.documentelement,再来看看各浏览器下的实际结果: ii测试结果表明,ie系列浏览器对document.documentelement属性的解释是正确的,其它标准浏览器将offsetheight解释成 了scrollheight.火狐和netscape更是把这两个属性调换了过来.不过总的来说各属性都可以有个相应的解释,不会像

document.all还是document.getElementsByName?_javascript技巧

复制代码 代码如下: (wuhen注:document.all是ie特有的属性,不是万维网标准) 当页面上的控件同名且多个的时候,你首先做的是什么?判断长度?的确,从程序的严密角度出发,我们是需要判断长度,而且有长度和没长度是两种引用方法.我们来看: oEle= document.all.aaa ;//这里有一个aaa的对象,但我们不知道它现在长度是多少,所以没办法对它操作.因此,我们要先做判断长度的过程.如下: if(oEle.length){}else{}; 在两种情况下,花括号里面的内容写