WEB-API(上)(yi)

  • DOM 树:将 HTML 文档结构以树形结构呈现,每个 HTML 标签都是树中的一个节点,方便 JavaScript 对文档进行操作。

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>标题</title>

</head>

<body>

  文本

  <a href="">链接名</a>

  <div id="" class="">文本</div>

</body>

</html>
  • DOM 节点:是 DOM 树的基本组成单位,分为元素节点(如<div>)、文本节点(标签内的文字)、属性节点(标签的属性,如class)等。

  • document:是 DOM 树的根节点,代表整个 HTML 文档,通过它可获取页面中的各种元素等。

<script>
  // document 是内置的对象
  // console.log(typeof document);

  // 1. 通过 document 获取根节点
  console.log(document.documentElement); // 对应 html 标签

  // 2. 通过 document 节取 body 节点
  console.log(document.body); // 对应 body 标签

  // 3. 通过 document.write 方法向网页输出内容
  document.write('Hello World!');
</script>
  • 获取 DOM 对象:常用方法有getElementById(通过 ID 获取)、getElementsByTagName(通过标签名获取)、getElementsByClassName(通过类名获取)、querySelector(通过 CSS 选择器获取单个元素)、querySelectorAll(通过 CSS 选择器获取多个元素)。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>DOM - 查找节点</title>
</head>
<body>
  <h3>查找元素类型节点</h3>
  <p>从整个 DOM 树中查找 DOM 节点是学习 DOM 的第一个步骤。</p>
  <ul>
      <li>元素</li>
      <li>元素</li>
      <li>元素</li>
      <li>元素</li>
  </ul>
  <script>
  	const p = document.querySelector('p')  // 获取第一个p元素
  	const lis = document.querySelectorAll('li')  // 获取第一个p元素
  </script>
</body>
</html>

操作元素内容

  • 常用属性修改:利用innerHTML(可获取或设置元素的 HTML 内容,包括标签)、innerText(获取或设置元素的文本内容,不包含标签)来修改元素内容。

<script>
  // innerText 将文本内容添加/更新到任意标签位置
  const intro = document.querySelector('.intro')
  // intro.innerText = '嗨~ 我叫李雷!'
  // intro.innerText = '<h4>嗨~ 我叫李雷!</h4>'
</script>



<script>
  // innerHTML 将文本内容添加/更新到任意标签位置
  const intro = document.querySelector('.intro')
  intro.innerHTML = '嗨~ 我叫韩梅梅!'
  intro.innerHTML = '<h4>嗨~ 我叫韩梅梅!</h4>'
</script>


<script>
  // 1. 获取 img 对应的 DOM 元素
  const pic = document.querySelector('.pic')
	// 2. 修改属性
  pic.src = './images/lion.webp'
  pic.width = 400;
  pic.alt = '图片不见了...'
</script>
  • 控制样式属性:通过元素的style属性修改行内样式,如element.style.color = "red";也可通过修改classList(如addremovetoggle方法)来切换类,从而改变样式。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>练习 - 修改样式</title>
</head>
<body>
  <div class="box">随便一些文本内容</div>
  <script>
    // 获取 DOM 节点
    const box = document.querySelector('.intro')
    box.style.color = 'red'
    box.style.width = '300px'
    // css 属性的 - 连接符与 JavaScript 的 减运算符
    // 冲突,所以要改成驼峰法
    box.style.backgroundColor = 'pink'
  </script>
</body>
</html>
  • 操作表单元素属性:如修改inputvalue(值)、disabled(禁用状态)、checked(复选框选中状态)等属性。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>练习 - 修改样式</title>
    <style>
        .pink {
            background: pink;
            color: hotpink;
        }
    </style>
</head>
<body>
  <div class="box">随便一些文本内容</div>
  <script>
    // 获取 DOM 节点
    const box = document.querySelector('.intro')
    box.className = 'pink'
  </script>
</body>
</html>
  • 自定义属性:使用setAttribute设置自定义属性,getAttribute获取自定义属性,removeAttribute移除自定义属性。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

</head>

<body>
   <div data-id="1"> 自定义属性 </div>
    <script>
        // 1. 获取元素
        let div = document.querySelector('div')
        // 2. 获取自定义属性值
         console.log(div.dataset.id)
      
    </script>
</body>

</html>
  • 间歇函数:即setInterval,可让函数每隔指定时间执行一次,用于实现定时重复操作,如轮播图自动切换,用clearInterval可清除该定时操作。

<script>
  // 1. 定义一个普通函数
  function repeat() {
    console.log('不知疲倦的执行下去....')
  }

  // 2. 使用 setInterval 调用 repeat 函数
  // 间隔 1000 毫秒,重复调用 repeat
  setInterval(repeat, 1000)
</script>


WEB-API(上)(yi)
http://localhost:8090//archives/web-api-shang
作者
亦菲
发布于
2025年10月11日
许可协议