天天看点

js DOM ( 文档对象模型 ) : 获取节点、节点只读属性

DOM:Document Object model   文档对象模型

html元素标签六大公共属性:class、id、title、name、style、data-*

获取节点(元素): 

  1. 通过 id 获取:var user = document.getElementById('user');   //  若获取得到返回一个原生DOM元素,找不到则返回null
  2. 通过class 类名获取: var box = document.getElementsByClassName('box'); //  若成功获取则返回列表; 获取原生DOM元素: var b1 = box[0];
  3. 通过属性name获取:var name = document.getElementsByName('password')  //  获取返回列表,与class获取相同
  4. 通过标签名称:var div = document.getElementsByTagName('div');  //   
  5. 通过css选择器: var ele = document.querySelector('.class');  //   获取第一个原生DOM元素 ,返回第一个原生DOM元素 ,  document.querySelector(css选择器);
  6. 通过css选择器: var ele = document.querySelectorAll('#list>li’);  //   获取第所有元素 ,返回一个列表 ,  document.querySelectorAll(css选择器);

节点只读属性(只有原生DOM才能使用):节点类型  nodeType、节点名称 nodeName、节点值 nodeValue;

五大类节点:元素、文本、注释、属性、文档

html:<h1 id="head" name="title"><!-- <b>节点</b> --></h1>

//元素   var h1 = document.getElementById('head');

nodeType = 1;nodeName = 大写的标签名称;nodeValue = null;

//文本   var h1 = document.getElementById('head').firstChild

nodeType = 3;nodeName = #text;nodeValue = 文本内容;

//注释   var h1 = document.getElementById('head').firstChild;

nodeType = 8;nodeName = #comment;nodeValue = 注释内容;

//属性   var h1 = document.getElementById('head').getAttributeNode('name');

nodeType = 2;nodeName = 属性名称;nodeValue = 属性值;

//文档    var h1 = document;

nodeType = 9;nodeName = #document;nodeValue = null;