2-1 DOM创建节点及节点属性
本节编程练习不计算学习进度,请电脑登录imooc.com操作

DOM创建节点及节点属性

通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作。但实际上一般开发者都习惯性的先定义好HTML结构,但这样就非常不灵活了。

试想下这样的情况:如果我们通过AJAX获取到数据之后然后才能确定结构的话,这种情况就需要动态的处理节点了

本文向大家介绍一下如何使用JavaScript创建div节点元素,主要包括创建div节点元素的属性和创建div节点元素的样式两大部分内容,相信本文介绍一定会让你有所收获。

先介绍下需要用到的浏览器提供的一些原生的方法(这里不处理低版本的IE兼容问题)

创建流程比较简单,大体如下:

  1. 创建节点(常见的:元素、属性和文本)
  2. 添加节点的一些属性
  3. 加入到文档中

流程中涉及的一点方法:

如右边代码所示,写一个最简单的元素创建,我们会发现几个问题:

  1. 每一个元素节点都必须单独创建
  2. 节点是属性需要单独设置,而且设置的接口不是很统一
  3. 添加到指定的元素位置不灵活
  4. 最后还有一个最重要的:浏览器兼容问题处理

针对这一系列的DOM操作的问题,jQuery给出了一套非常完美的接口方法,我们之后就开始深入学习

任务

  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  6. <title></title>
  7. <style>
  8. .left,
  9. .right {
  10. width: 300px;
  11. height: 120px;
  12. }
  13.  
  14. .left div,
  15. .right div {
  16. width: 100px;
  17. height: 90px;
  18. padding: 5px;
  19. margin: 5px;
  20. float: left;
  21. border: 1px solid #ccc;
  22. }
  23.  
  24. .left div {
  25. background: #bbffaa;
  26. }
  27.  
  28. .right div {
  29. background: yellow;
  30. }
  31. </style>
  32. </head>
  33.  
  34. <body>
  35. <h2>动态创建元素节点</h2>
  36. <div class="left">
  37. <div class="aaron">点击body区域会动态创建元素节点</div>
  38. </div>
  39. <script type="text/javascript">
  40. var body = document.querySelector('body');
  41.  
  42. document.addEventListener('click',function(){
  43.  
  44. //创建2个div元素
  45. var rightdiv = document.createElement('div')
  46. var rightaaron = document.createElement("div");
  47.  
  48. //给2个div设置不同的属性
  49. rightdiv.setAttribute('class', 'right')
  50. rightaaron.className = 'aaron'
  51. rightaaron.innerHTML = "动态创建DIV元素节点";
  52.  
  53. //2个div合并成包含关系
  54. rightdiv.appendChild(rightaaron)
  55.  
  56. //绘制到页面body
  57. body.appendChild(rightdiv)
  58.  
  59. },false)
  60.  
  61.  
  62.  
  63.  
  64. </script>
  65. </body>
  66.  
  67. </html>
  68.  
下一节