(十六)

查找元素

var div = document.getElementById("myDiv");//取得
元素的引用

IE8及较低版本不区分ID的大小写,因此“myDiv”和“mydiv”会被当做相同的元素ID。
如果页面中多个元素的ID值相同,getElementById()只返回文档中第一次出现的元素。IE7及较低版本还为此方法添加了一个有意思的“怪癖”:name特性与给定ID匹配的表单元素也会被该方法返回。如果有哪个表单元素的name特性等于指定的ID,而且该元素在文档中位于带有给定ID的元素前面,那么IE就会返回那个表单元素:


A div
document.getElementById("myElement ");

以上代码在IE7中结果会返回元素;而在其他所有浏览器中,都会返回对

元素的引用。为了避免IE中存在的这个问题,最好的办法是不让表单字段的name特性与其他元素的ID相同。

var images = document.getElementsByTagName("img");
alert(images.length); //输出图表的数量
alert(images[0].src); //输出第一个图像元素的src 特性
aler t(images.item(0).src); //输出第一个图像元素的src 特性

HTMLCollection对象还有一个方法,叫做namedItem(),使用这个方法可以通过元素的name特性取得集合中的项:


var myImage = images.namedItem("myImage");
var myImage = images["myImage"];
var radios = document.getElementsByName("color");

特殊集合
除了属性和方法,document对象还有一些特殊的集合。这些集合都是HTMLCollection对象,为访问文档常用的部分提供了快捷方式: