注意,JavaScript语言区分大小写
有3种DOM方法可获取节点元素,分别是通过元素Id,标签名和类名字来获取
getElementById
这个方法将返回一个与那个有着给定id属性值的元素节点对应的对象。只有一个参数:元素的id值,id值必须写在单引号或双引号里。
document. getElementById(id)
例子:typeof操作符可以验证操作数是字符串,数值,函数。布尔值还是对象
getElementsByTagName
这个方法返回一个对象数组,每个对象分别对应着文档的标签元素。
参数是标签名。
element.getElementsByTagName(tag)
例子
即使整个文档里这个标签只有一个元素,getElementsByTagName也返回一个数组,此时长度是1
getElementsByTagName允许吧一个通配符(*)作为它的参数
例子:如果你想知道一个文档里共有多少个元素节点,可以这样写
document.getElementsByTagName("*").length
getElementByClassName
通过class属性中的类名来访问元素,返回值是一个数组
document. getElementsByClassName(class)
例子,返回包含类名为“liSecond”的所有元素的数组长度
要指定多个类名,只要在字符串参数中用空格隔开即可,类名的排列顺序不重要,元素带有更多的类名也可以
有部分浏览器对getElementsByClassName方法不支持
这里提供一个大致相同的办法
//这个例子不适用于多个类名
//接受两个函数,node表示DOM树中的搜索起点,classname表示搜索类名
function getElemenstByClassName(node, classname) {
if (node.getElementByClassName)
{
//使用现有的办法
return node.getElementByClassName(classname);
}
else
{
var results = new Array();
//遍历循环所有标签
var elems = node.getElementsByTagName("*");
for (var i = 0; i < elems.length; i++) {
//查找带有相应类名的元素
if (elems[i].className.indexOf(classname) != -1)
{
results[results.length] = elems[i];
}
}
return results;
}
}