主要包括以下四种:

动态脚本

动态加载脚本的方式:

  1. //动态加载的外部 JavaScript 文件能够立即运行,比如下面的<script>元素
  2. <script type="text/javascript" src="client.js"></script>
  3. //或者 创建这个节点的 DOM:
  4. var script = document.createElement("script");
  5. script.type = "text/javascript";
  6. script.src = "client.js";
  7. document.body.appendChild(script);
  8. //或者写个函数去封装一下:
  9. function loadScript(url){
  10. var script = document.createElement("script");
  11. script.type = "text/javascript";
  12. script.src = url;
  13. document.body.appendChild(script);
  14. }
  15. 然后,就可以通过调用这个函数来加载外部的 JavaScript 文件了:
  16. loadScript("client.js");

动态样式

与动态脚本方式无多异:

  1. //典型的<link>元素为例:
  2. <link rel="stylesheet" type="text/css" href="styles.css">
  3. //使用 DOM 代码可以很容易地动态创建出这个元素:
  4. var link = document.createElement("link");
  5. link.rel = "stylesheet";
  6. link.type = "text/css";
  7. link.href = "style.css";
  8. var head = document.getElementsByTagName("head")[0];
  9. head.appendChild(link);
  10. //也可以这样去封装
  11. function loadStyles(url){
  12. var link = document.createElement("link");
  13. link.rel = "stylesheet";
  14. link.type = "text/css";
  15. link.href = url;
  16. var head = document.getElementsByTagName("head")[0];
  17. head.appendChild(link);
  18. }
  19. 然后去调用:
  20. loadStyles("styles.css");
  21. //另一种定义样式的方式是使用<style>元素来包含嵌入式 CSS,如下所示:
  22. <style type="text/css">
  23. body {
  24. background-color: red;
  25. }
  26. </style>

操作表格

也就是创建表格:

  1. <table border="1" width="100%">
  2. <tbody>
  3. <tr>
  4. <td>Cell 1,1</td>
  5. <td>Cell 2,1</td>
  6. </tr>
  7. <tr>
  8. <td>Cell 1,2</td>
  9. <td>Cell 2,2</td>
  10. </tr>
  11. </tbody>
  12. </table>

要使用核心 DOM 方法创建这些元素,得需要像下面这么多的代码:

  1. //创建 table
  2. var table = document.createElement("table");
  3. table.border = 1;
  4. table.width = "100%";
  5. //创建 tbody
  6. var tbody = document.createElement("tbody");
  7. table.appendChild(tbody);
  8. //创建第一行
  9. var row1 = document.createElement("tr");
  10. tbody.appendChild(row1);
  11. var cell1_1 = document.createElement("td");
  12. cell1_1.appendChild(document.createTextNode("Cell 1,1"));
  13. row1.appendChild(cell1_1);
  14. var cell2_1 = document.createElement("td");
  15. cell2_1.appendChild(document.createTextNode("Cell 2,1"));
  16. row1.appendChild(cell2_1);
  17. //创建第二行
  18. var row2 = document.createElement("tr");
  19. tbody.appendChild(row2);
  20. var cell1_2 = document.createElement("td");
  21. cell1_2.appendChild(document.createTextNode("Cell 1,2"));
  22. row2.appendChild(cell1_2);
  23. var cell2_2= document.createElement("td");
  24. cell2_2.appendChild(document.createTextNode("Cell 2,2"));
  25. row2.appendChild(cell2_2);
  26. //将表格添加到文档主体中
  27. document.body.appendChild(table);

使用NodeList

省略先(好像还没遇到过,自己理解太肤浅)