JS DOM编程艺术第三章

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)

你可能感兴趣的:(JS DOM编程艺术第三章)