javascript笔记

<a href="我是属性节点的值">我是文本节点的值<a/>

a:元素节点   document.getElementsByTagName('a')[0];

href:属性节点   document.getElementsByTagName('a')[0].getAttributeNode('href');

我是文本节点:文本节点   document.getElementsByTagName('a')[0].firstChild;

-------------------------------==================--------------------------

 document.getElementsByTagName('a')[0].nodeName;  A

 document.getElementsByTagName('a')[0].nodeType;  1

 document.getElementsByTagName('a')[0].nodeValue;  null

 document.getElementsByTagName('a')[0].getAttributeNode('href').nodeName;  href

 document.getElementsByTagName('a')[0].getAttributeNode('href').nodeType;  2

 document.getElementsByTagName('a')[0].getAttributeNode('href').nodeValue;  我是属性节点的值

 document.getElementsByTagName('a')[0].firstChild.nodeName;  #text

 document.getElementsByTagName('a')[0].firstChild.nodeType;  3

 document.getElementsByTagName('a')[0].firstChild.nodeValue;  我是文本节点的值

节点信息

每个节点都拥有包含着关于节点某些信息的属性。这些属性是:

  • nodeName(节点名称)
  • nodeValue(节点值)
  • nodeType(节点类型)

nodeType

nodeType 属性可返回节点的类型。

最重要的节点类型是:

元素类型节点类型
元素 1
属性 2
文本 3
注释 8
文档 9

1.获取/创建元素节点

element.getElementById('id'); 

element.getElementsByTagName('tagName');  Array

element.getElementsByClassName('classValue'); Array

document.createElement('tagName');

2.获取/设置属性节点的值

element.getAttribute('attName'); 等效于 element.attName;

element.setAttribute('name','value'); 等效于 element.name = value;

3.获取文本节点的值

element.lastChild.nodeValue

document.createTextNode('textValue');

4.父元素

element.parentNode

5.所有子元素

element.childNodes

6.第一个子元素

element.firstChild == element.childNodes[0];

7.最后一个子元素

element.lastChild == element.childNodes[element.childNodes.length-1]

 1 <!doctype html>
 2 <html>
 3   <head>
 4   </head>
 5   <body>
 6     <span id ="test">Drag ME</span>
 7     <script src="addLoadEvent.js"></script>
 8     <script src="test.js"></script>
 9   </body>
10 </html>    
 1 function addLoadEvent(func){
 2     var oldOnload = window.onload;
 3     if(typeof window.onload != 'undefined'){
 4         window.onload = func;
 5     }else{
 6         window.onload = function(){
 7             oldOnload();
 8             func();
 9         }
10     }
11     
12 }
 1 function test(){
 2     var objs = document.getElementsByTagName('body');
 3     var obj = objs[0];
 4     var txtTotal = 'Total childNodes:';
 5     txtTotal += obj.childNodes.length;
 6   
 7     var oul = document.createElement('ul');
 8     for(var i=0; i<obj.childNodes.length; i++){
 9         var o = obj.childNodes[i];
10         var txt = '';
11         txt += ' nodeName:';
12         txt += o.nodeName;
13         txt += ' nodeType:';
14         txt += o.nodeType;
15     
16         var oli = document.createElement('li');
17         var otxt = document.createTextNode(txt);
18         oli.appendChild(otxt);
19         oul.appendChild(oli);
20      
21     }
22     var oh1 = document.createElement('h2');
23     otxt = document.createTextNode(txtTotal);
24     var op = document.createElement('p');
25     oh1.appendChild(otxt);
26     otxt = document.createTextNode(obj.innerHTML);
27     op.appendChild(otxt);
28     obj.appendChild(op);
29     obj.appendChild(oh1);
30     obj.appendChild(oul);
31     
32 }
33 
34     addLoadEvent(test);
原文地址:https://www.cnblogs.com/daixiaotian/p/6022640.html