JavaScript 一些 DOM 的知识点

ele["data-test"];// undefined,不能直接访问自定义特性ele.getAttribute("data-test");// "just test"ele.removeAttribute("class");// 删除 class 特性ele.className; // "",一个空字符串
  • classList 属性

这个属性是 HTML5 中新增的用来操作元素类名的属性。它比 className 属性使用起来更方便。这个属性返回的是一个新集合类型 DOMTokenList 的实例,它也是一个类数组对象。

<div id="container"class="class1 class2"><div>var ele = document.getElementById("container");ele.classList; // ["class1", "class2"]ele.classList[0]; // "class1" string 类型ele.classList.length; // 2ele.classList.add("class3"); // 添加新类名ele.classList.remove("class1"); // 删除类名ele.classList; // ["class2", "class3"]// contains() 用来检测是否某个类名ele.classList.contains("class1"); // falseele.classList.contains("class2"); // true// toggle() 用来交替删除添加某个类名ele.classList.toggle("class4"); // 不存在,则添加ele.classList; // ["class2", "class3", "class4"]ele.classList.toggle("class4"); // 存在,则删除ele.classList; // ["class2", "class3"]