1.节点
三种:元素节点、文本节点、属性节点。
1.1元素节点的获取方法:
每个元素节点都是一个对象
1.getElementById:返回一个对象。
2.getElementsByTagName:返回一个对象数组。即使整个文档中这个标签只有一个元素,也是返回数组,长度为1。如果项知道整个文档有多少个元素节点——document.getElementsByTagName("*").length
。
3.getElementsByClassName:返回具有相同类名的对象数组。如果想知道在ID为purchase的元素中包含多少类名为sale的列表项——
var shopping = document.getElementById("purchase");
var sales = shopping.getElementsByClassName("sale");
不过可能存在兼容性问题,解决方法:
function getElementsByClassName(node, classname) {
if(node.getElementsByClassName) {
return node.getElementsByClassName(classname);
} else {
var results = [];
var elems = document.getElementsByTagName("*");
if(var i = 0; i < elems.length; i++) {
if(elems[i].className.indexOf(classname) != -1) {
results[results.length] = elems[i];
}
}
return results;
}
} // 这个方法不适合多个类名的情况
1.2获取元素节点的属性:
1.getAttribute():object.getAttribute(attribute)
。与之前三种方法不同,getAttribute()方法不属于document对象,只能通过元素节点对象调用,属性未设置时,返回null。
2.setAttribute():只能用于元素节点。语法:object.setAttribute(attribute, value)