yuque_diagram.jpg

目的

通过这部分知识的学习,我们可以通过JS的语法,得到某个标签中的内容,也可以设置某个标签中的内容。
这样,我们就可以动态的修改页面的内容了

DOM对象.innerHTML

  • 获取元素里面的内容(包括标签)
  • 修改元素里面的内容(包括标签) ```javascript // 1. 找到页面的元素 let p = document.querySelector(‘p’)

// 2. 获取 p 标签里面的内容 let 内容 = p.innerHTML

// 3. 修改 p 标签里面的内容 p.innerHTML = ‘修改的内容’

  1. <a name="hP19q"></a>
  2. ## DOM对象.innerText
  3. - 获取元素里面的 **文本**内容
  4. - 修改元素里面的 **文本**内容
  5. ```javascript
  6. // 1. 找到页面的元素
  7. let p = document.querySelector('p')
  8. // 2. 获取 p 标签里面的内容
  9. let 内容 = p.innerText
  10. // 3. 修改 p 标签里面的内容
  11. p.innerText = '修改的内容'

演示代码

  1. <body>
  2. <p>我的名字叫做<strong>张飞</strong></p>
  3. <script>
  4. // 想要获取 p 里面的内容,首先得找到 p
  5. // 1. 找到页面中的 p 元素
  6. let p = document.querySelector('p')
  7. // 2. 获取p里面的内容
  8. let content = p.innerHTML // 我的名字叫做<strong>张飞</strong>
  9. // let content = p.innerText // 我的名字叫做张飞
  10. // console.log(content)
  11. // 3. 设置 p 里面的内容
  12. // p.innerHTML = '你是<i>李逵</i>吗?'
  13. p.innerText = '你是<i>李逵</i>'
  14. // 二者的区别是
  15. // innerHTML 能够获取和设置元素里面的 html 内容
  16. // innerText 能够获取和设置元素里面的 文本 内容
  17. </script>
  18. </body>

无论是 innerText 还是 innerHTML ,都会覆盖元素中原有的内容

了解document.write()

  • 只能够设置 body 里面的内容,也会把body 中其他内容覆盖掉

    1. document.write('内容')

    案例:随机点名

    1. <body>
    2. <p></p>
    3. <script>
    4. // 模拟一些人名
    5. let arr = ['疾风剑豪', '放逐之刃', '光辉女郎', '麦林炮手', '熬夜波比', '蒸汽机器人']
    6. // 需求:刷新页面,随机选择一个人物,放到页面的 p 标签中
    7. // 1. 让下标随机
    8. let m = arr.length - 1;
    9. let n = 0;
    10. let i = Math.floor(Math.random() * (m - n + 1) + n)
    11. // console.log(i)
    12. // 2. 找到人名。 arr[下标]
    13. let uname = arr[i]
    14. // 3. 找到 p 元素
    15. let p = document.querySelector('p')
    16. // 4. 把人名放到 p 里面
    17. p.innerHTML = uname
    18. </script>
    19. </body>