一.欢迎来到我的酒馆

          在本章节介绍DOM className属性。

二.什么是className

          className是一个Element接口中的属性,它可以获取和设置一个HTML元素的class属性值。它会返回一个字符串,代表了HTML元素的class属性,如果一个HTML元素有多个class,它也会一并返回。
例如:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <h1>Learning className property</h1>
    <p id="item" class="tmp🍺 🎶">This is a paragraph.</p>
    <script src="./main.js"></script>
  </body>
</html>

javascript代码:

const el = document.getElementById("item");
// el.className = el.className === "active" ? "inactive" : "active";
// console.log(el);
console.log(el.className);

输出:

tmp🍺 🎶

          倘若一个元素是SVGElement,className同样可以是SVGAnimatedString的一个实例。如果你在处理SVG元素的话,使用函数Element.getAttribute()和Element.setAttribute()来设置和获取className会更便捷。然而,当一个元素的class属性没有写出来,Element.getAttribute()会返回null,className会返回"";
修改一下上面的例子,把p标签的class属性丢开:

    <p id="item">This is a paragraph.</p>

javascript代码:

const el = document.getElementById("item");
// el.className = el.className === "active" ? "inactive" : "active";

// console.log(el);

console.log(el.className);
console.log(el.getAttribute("class"));

输出:


null
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐