js node

来源:互联网 发布:生成木马软件下载 编辑:程序博客网 时间:2024/04/29 00:58
Node的属性介绍:  
  1. nodeType:显示节点的类型   
  2. nodeName:显示节点的名称   
  3. nodeValue:显示节点的值   
  4. attributes:获取一个属性节点   
  5. firstChild:表示某一节点的第一个节点   
  6. lastChild:表示某一节点的最后一个子节点   
  7. childNodes:表示所在节点的所有子节点   
  8. parentNode:表示所在节点的父节点   
  9. nextSibling:紧挨着当前节点的下一个节点   
  10. previousSibling:紧挨着当前节点的上一个节点   
  11. ownerDocument:(不知)   
  12.   
  13. Node有各种各样的节点,我们先花一些时间认识他们,同时一并了解nodeType,nodeName和nodeValue属性:   
  14. 名称:元素节点   
  15. nodeType:ELEMENT_NODE   
  16. nodeType值:1   
  17. nodeName:元素标记名   
  18. nodeValue:null  
  19.   
  20. <body>   
  21. <div id = "t" ><span></span></div>   
  22. </body>   
  23. <script>   
  24. var d = document.getElementById("t");   
  25. document.write(d.nodeType);   
  26. document.write(d.nodeName);   
  27. document.write(d.nodeValue);   
  28. //显示 1 DIV null   
  29. </script>   
  30. 名称:属性节点   
  31. nodeType:ATTRIBUTE_NODE   
  32. nodeType值:2   
  33. nodeName:属性名   
  34. nodeValue:属性值   
  35.   
  36. <body>   
  37. <div id = "t" name="aaa"><span></span></div>   
  38. </body>   
  39. <script>   
  40. var d = document.getElementById("t").getAttributeNode("name");   
  41. document.write(d.nodeType);   
  42. document.write(d.nodeName);   
  43. document.write(d.nodeValue);   
  44. //显示 2 name aaa   
  45. </script>   
  46. 名称:文本节点   
  47. nodeType:TEXT_NODE   
  48. nodeType值:3   
  49. nodeName:#text   
  50. nodeValue:文本内容   
  51.   
  52. <body>   
  53. <div id = "t">bbb</div>   
  54. </body>   
  55. <script>   
  56. var d = document.getElementById("t").firstChild;   
  57. document.write(d.nodeType);   
  58. document.write(d.nodeName);   
  59. document.write(d.nodeValue);   
  60. //显示 3 #text bbb    
  61. </script>   
  62. 名称:CDATA文本节点(XML中传递文本的格式)   
  63. nodeType:CDATA_SECTION_NODE   
  64. nodeType值:4   
  65. nodeName:#cdata-section   
  66. nodeValue:CDATA文本内容   
  67.   
  68. (作者省略8个属性,需技术补充)   
  69.   
  70. attributes属性,直接获取一个属性节点,注意这里要使用[],保持IE和FF的兼容性。   
  71.   
  72. <body name="ddd">   
  73. <div id = "t" name = "aaa"><span>aaa</span><span>bbb</span><span>ccc</span></div>   
  74. </body>   
  75. <script>   
  76. var d = document.getElementById("t").attributes["name"];   
  77. document.write(d.name);   
  78. document.write(d.value);   
  79. //显示 name aaa   
  80. </script>   
  81. firstChild和lastChild属性,表示某一节点的第一个和最后一个子节点:   
  82.   
  83. <body>   
  84. <div id = "t"><span>aaa</span><span>bbb</span><span>ccc</span></div>   
  85. </body>   
  86. <script>   
  87. var d = document.getElementById("t");   
  88. document.write(d.firstChild.innerHTML);   
  89. document.write(d.lastChild.innerHTML);   
  90. //显示 aaa ccc   
  91. </script>   
  92. childNodes和parentNode属性,表示所在节点的所有子节点和所在节点的父节点,这里的childNodes注意是一个数组:   
  93.   
  94. <body name="ddd">   
  95. <div id = "t"><span>aaa</span><span>bbb</span><span>ccc</span></div>   
  96. </body>   
  97. <script>   
  98. var d = document.getElementById("t");   
  99. document.write(d.childNodes[1].innerHTML);   
  100. document.write(d.parentNode.getAttribute("name"));   
  101. //显示 bbb ddd   
  102. </script>   
  103. nextSibling和previousSibling属性,分别表示在parentNode的childNodes[]数组中,紧挨着当前节点的上一个和下一个节点:   
  104.   
  105. <body name="ddd">   
  106. <div id = "t"><span>aaa</span><span>bbb</span><span>ccc</span></div>   
  107. </body>   
  108. <script>   
  109. var d = document.getElementById("t").childNodes[1];   
  110. document.write(d.nextSibling.innerHTML);   
  111. document.write(d.previousSibling.innerHTML);   
  112. //显示 ccc aaa   
  113. </script>   
  114. ownerDocument属性(不知如何使用)   
  115.   
  116. Node的方法介绍:   
  117.   
  118. hasChildNodes():判定一个节点是否有子节点   
  119. removeChild():去除一个节点   
  120. appendChild():添加一个节点   
  121. replaceChild():替换一个节点   
  122. insertBefore():指定节点位置插入一个节点   
  123. cloneNode():复制一个节点   
  124. normalize():(不知)   
  125.   
  126. hasChildNodes()方法:判定一个节点是否有子节点,有返回true,没有返回false  
  127.   
  128. <body name="ddd">   
  129. <div id = "t"><span>aaa</span><span>bbb</span><span>ccc</span></div>   
  130. <div id = "m"></div>   
  131. </body>   
  132. <script>   
  133. alert(document.getElementById("t").hasChildNodes());   
  134. alert(document.getElementById("m").hasChildNodes());   
  135. // 第一个true,第二个false   
  136. </script>   
  137. removeChild()方法:去除一个节点   
  138.   
  139. <body name="ddd">   
  140. <div id = "t"><span>aaa</span><span>bbb</span><span>ccc</span></div>   
  141. </body>   
  142. <script>   
  143. var d = document.getElementById("t").firstChild;   
  144. document.getElementById("t").removeChild(d);   
  145. // <span>aaa</span>被去除   
  146. </script>   
  147. appendChild()方法:添加一个节点,如果文档树中已经存在该节点,则将它删除,然后在新位置插入。   
  148.   
  149. <body name="ddd">   
  150. <div id = "t"><span>aaa</span><span>bbb</span><span>ccc</span></div>   
  151. </body>   
  152. <script>   
  153. var d = document.getElementById("t").firstChild;   
  154. document.getElementById("t").appendChild(d);   
  155. // <span>aaa</span>成了最后一个节点   
  156. </script>   
  157. replaceChild()方法:从文档树中删除(并返回)指定的子节点,用另一个节点来替换它。   
  158.   
  159. <body name="ddd">   
  160. <div id = "t"><span>aaa</span><span>bbb</span><span>ccc</span></div>   
  161. </body>   
  162. <script>   
  163. var newd = document.createElement("span");   
  164. newd.innerHTML = "eee";   
  165. var oldd = document.getElementById("t").lastChild;   
  166. document.getElementById("t").replaceChild(newd,oldd);   
  167. // 最后一项成了 eee   
  168. </script>   
  169. insertBefore()方法:在指定节点的前面插入一个节点,如果已经存在,则删除原来的,然后在新位置插入   
  170.   
  171. <body name="ddd">   
  172. <div id = "t"><span>aaa</span><span>bbb</span><span>ccc</span></div>   
  173. </body>   
  174. <script>   
  175. var newd = document.createElement("span");   
  176. newd.innerHTML = "eee";   
  177. var where = document.getElementById("t").lastChild;   
  178. document.getElementById("t").insertBefore(newd,where);   
  179. // 在最后一项的前面多了一项 eee   
  180. </script>   
  181. cloneNode()方法:复制一个节点,该方法有一个参数,true表示同时复制所有的子节点,false表示近复制当前节点   
  182.   
  183. <body name="ddd">   
  184. <div id = "t"><span>aaa</span><span>bbb</span><span>ccc</span></div><div id = "m"></div>   
  185. </body>   
  186. <script>   
  187. var what = document.getElementById("t").cloneNode(false).innerHTML;   
  188. document.getElementById("m").innerHTML = what;   
  189. // 增加了一个aaabbbccc   
  190. </script>