0


JS(DOM)第十五课

Dom的全称是Document Object Model

DOM 定义了访问 HTML 和 XML 文档的标准

Dom的定义

DOM 文档对象模型

DOM是针对XML的基于树的API。描述了处理网页内容的方法和接口,是HTML和XML的API,DOM把整个页面规划成由节点层级构成的文档。
DOM本身是与语言无关的API,它并不与Java,JavaScript或其他语言绑定。


这张思维导图带你理解HTML和body,head的关系图


本文章的大纲内容

1 获取Html标记的节点元素

  1. <script>
  2. // 获取Html标记的节点元素
  3. var html=document.documentElement
  4. console.log(html);
  5. html.style.background = 'pink'
  6. </script>


获取Html标记的节点元素中打印出来的结果

2 获取head的节点

  1. <script>
  2. var head = document.head
  3. console.log(head)
  4. </script>
  5. ody>


获取head的节点

3 获取body的节点

  1. <script>
  2. var body = document.body
  3. console.log(body)
  4. document.write(body)
  5. body.style.background='red'
  6. </script>
  7. ody>


获取body的节点

4 上面的三个节点综合使用 下面的是 Html的具体结构 节点直接的导航

  1. <div>我是Dom操作的元素信息内容</div><div>我是第二个节点<span></span><span>节点的含义</span><span>节点的含义</span></div><div>我是第三个节点</div>
  1. <script>
  2. // 文档声明
  3. var DOCTYPE = document.doctype
  4. console.log(DOCTYPE)
  5. // html
  6. var html = document.documentElement
  7. console.log(html);
  8. html.style.background = 'pink'
  9. // head
  10. var head = document.head
  11. console.log(head)
  12. head.style.background = "yellow"


我设置的黄色呢

  • console.log(body.parentNode) //body的父节点 Html
  • console.log(head.parentNode) //head的父节点 Html
  • console.log(body.previousSibling) //前兄弟节点 #text
  • console.log(head.nextSibling) //后兄弟节点 #text
  • console.log(head.childNodes) //head子节点 NodeList(9) [text, meta, text, meta, text, meta, text, title, text]
  • console.log(body.firstChild) //第一个节点 #text
  • console.log(body.lastChild) //最后一个子节点 <script><script>
  • console.log(body.childNodes[0]) //子节点
    我是Dom操作的元素信息内容
  • console.log(body.childNodes[1]) //
    我是第二个节点
  • console.log(body.childNodes[2]) //
    我是第三个节点

通过对上面的元素基本操作是为了更好的了解节点这个概念


运行结果如图所示


这张思维导图带你理解HTML和body,head的关系图

5 Document元素之间的节点的导航

  1. <div class="box">
  2. <h1 class="title">我是标题</h1>
  3. <div class="container">我是div审查元素</div>
  4. <div class="dest">我是一个段落</div>
  5. </div>
  6. <span>我是span标签元素</span>

** var body = document.body //获取下面的父节点**

  • console.log("获取body标签的内容")
  • console.log(body)
  • console.log("获取下面的父节点")
  • console.log(body.parentElement)
  • console.log("//获取前兄弟节点")
  • console.log(body.previousElementSibling)//获取前兄弟节点
  • console.log("获取的子节点")
  • console.log(body.children)//获取的子节点
  • console.log("获取的子节点1")
  • console.log(body.children[0])//获取的子节点1
  • console.log("获取的子节点2")
  • console.log(body.children[1])//获取的子节点2
  • console.log("获取第一个子节点的信息")
  • console.log(body.firstElementChild)
  • console.log("获取最后一个子节点的信息")
  • console.log(body.lastElementChild)

上面的文件内容是对元素中的节点导航


Document元素之间的节点的导航

6 表格元素直接的节点导行

  1. <!-- !表格元素导行 -->
  2. <table>
  3. <tr>
  4. <td class="one">1</td>
  5. <td>2</td>
  6. <td>3</td>
  7. <td>4</td>
  8. <td>5</td>
  9. </tr>
  10. <tr>
  11. <td>1</td>
  12. <td class="one">2</td>
  13. <td>3</td>
  14. <td>4</td>
  15. <td>5</td>
  16. </tr>
  17. <tr>
  18. <td>1</td>
  19. <td>2</td>
  20. <td class="one">3</td>
  21. <td>4</td>
  22. <td>5</td>
  23. </tr>
  24. <tr>
  25. <td>1</td>
  26. <td>2</td>
  27. <td>3</td>
  28. <td class="one">4</td>
  29. <td>5</td>
  30. </tr>
  31. <tr>
  32. <td>1</td>
  33. <td>2</td>
  34. <td>3</td>
  35. <td>4</td>
  36. <td class="one">5</td>
  37. </tr>
  38. <caption>我是caption的元素内容</caption>
  39. <thead>我是thead的元素的内容</thead>
  40. <tbody>123</tbody>
  41. </table>
  • ** var body = document.body**
  • console.log("/获取了元素的body元素") console.log(body)//获取了元素的body元素 // body.style.background = 'green' console.log("获取body的第一个孩子为 style") console.log(body.children[0])//获取body的第一个孩子为 style console.log("获取body的第二个孩子为 table") console.log(body.children[1])//获取body的第二个孩子为 table body.children[1].background='yellow' console.log("获取body的第三个孩子为 script") console.log(body.children[2])//获取body的第三个孩子为 script console.log("获取所有的tr") console.log(body.children[1].rows) //所有的tr
  • ** var table=document.body.children[0]**
  • console.log(table) console.log(table.rows) console.log(table.caption) console.log(table.tHead) console.log(table.tFoot) console.log(table.tBodies) console.log(table.rows)
  • var td=document.body.children[1].rows
  • console.log(td) // console.log(table.rows.sectionRowIndex) // var table=document.body.childElementCount[1].childNodes // console.log(table)
  • ** var gettag=document.getElementsByTagName('td')**
  • gettag.background='red' console.log(gettag)
  • ** var getclass=document.getElementsByClassName('one')**
  • console.log(getclass) //querySelector() — 精准的获取某个元素 var f=document.querySelector(".one") //uerySelectorAll()获取符合类名或者标签名等条件的的所有元素
  • var g=document.querySelectorAll('.one')
  • console.log(f) console.log(g)

上面是表格元素直接的节点导行


表格元素直接的节点导行

7 表单元素直接的节点导行

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <div id="content">
  11. <h2 class="step">注册步骤;</h2>
  12. <form action="#" method="post" class="one">
  13. <h3>你的账号信息;</h3>
  14. <table class="content">
  15. <tr>
  16. <td class="left">注册方式;</td>
  17. <td>
  18. <label for="one"><input type="radio" name="emil" id="one" />
  19. E-mail注册
  20. </label>&nbsp;&nbsp;&nbsp;&nbsp;
  21. <label for="two"><input type="radio" name="sex" id="two" />手机号码注册</label>
  22. </td>
  23. </tr>
  24. <tr>
  25. <td class="left" nam="you">注册邮箱;</td>
  26. <td><input type="text" class="right" /></td>
  27. </tr>
  28. <tr>
  29. <td class="left">注册手机;</td>
  30. <td><input type="text" class="right" /></td>
  31. </tr>
  32. <tr>
  33. <td class="left"> 登录密码</td>
  34. <td><input type="password " maxlength="8" class="right" /></td>
  35. </tr>
  36. <tr>
  37. <td class="left">昵称;</td>
  38. <td><input type="text" class="right" /></td>
  39. </tr>
  40. </table>
  41. <h3>你的个人信息</h3>
  42. <table class="content">
  43. <tr>
  44. <td class="lrft">性别; </td>
  45. <td>
  46. <label for="boy"><input type="radio" name="sex" id="boy" />
  47. </label>&nbsp;&nbsp;&nbsp;&nbsp;
  48. <label for="girl"><input type="radio" name="sex" id="girl" />
  49. </label>
  50. </td>
  51. </tr>
  52. <tr>
  53. <td class="left">学历</td>
  54. <td>
  55. <select>
  56. <option> -请选择-</option>
  57. <option> 中职/高职</option>
  58. <option> 专科/本科</option>
  59. <option> 硕士研究生</option>
  60. <option> 博士研究生</option>
  61. </select>
  62. </td>
  63. </tr>
  64. <tr>
  65. <td class="left">所在城市</td>
  66. <td>
  67. <select>
  68. <option> -请选择-</option>
  69. <option selected="selected"> 北京</option>
  70. <option>上海</option>
  71. <option>广州</option>
  72. <option> 深州</option>
  73. </select>
  74. </td>
  75. </tr>
  76. <tr>
  77. <td class="left">兴趣爱好</td>
  78. <td>
  79. <input type="checkbox" /> 足球&nbsp;&nbsp;&nbsp;&nbsp;
  80. <input type="checkbox" /> 篮球&nbsp;&nbsp;&nbsp;&nbsp;
  81. <input type="checkbox" /> 游泳 &nbsp;&nbsp;&nbsp;&nbsp;
  82. <input type="checkbox" /> 唱歌&nbsp;&nbsp;&nbsp;&nbsp;
  83. <input type="checkbox" /> 跑步&nbsp;&nbsp;&nbsp;&nbsp;
  84. <input type="checkbox" /> 瑜伽 &nbsp;&nbsp;&nbsp;&nbsp;
  85. </td>
  86. </tr>
  87. <tr>
  88. <td class="left"> 自我介绍</td>
  89. <td>
  90. <textarea cols="60" rows="8">评论时注意一下语言。</textarea>
  91. </td>
  92. </tr>
  93. <tr>
  94. <!-- <td align="center" colspan="2"><input type="buttom" class="btn" /></td> -->
  95. </tr>
  96. </table>
  97. </form>
  98. </div>
  99. <script>
  100. var from=document.forms[0]
  101. console.log(from)
  102. console.log(from.elements);//获取所有元素
  103. console.log(from.emil)//通过name属性获得焦点
  104. </script>
  105. </body>
  106. </html>

JS(Dom对象的属性和方法)第十六课_星辰镜的博客-CSDN博客

标签: javascript 前端 html

本文转载自: https://blog.csdn.net/qq_56248592/article/details/127557050
版权归原作者 星辰镜 所有, 如有侵权,请联系我们删除。

“JS(DOM)第十五课”的评论:

还没有评论