4-1内联事件

  1. <!-- 内联事件 -->
  2. <!--
  3. data-自定义属性名
  4. -->
  5. <button id="btn" data-aid="123456" onclick="go(event)">btn</button>
  6. <script>
  7. /*
  8. 定义data-aid="123456"
  9. 获取自定义属性值 event.target.dataset.aid
  10. */
  11. function go(event){
  12. console.log("hello world");
  13. console.log(event.target.dataset.aid)
  14. }
  15. </script>

4-2节点扩展

  1. firtChild 获取第一个子节点
  2. firtElementChild 获取第一个元素子节点
  3. lastChild 最后一个
  4. lastElementChild
  5. 兄弟节点
  6. nextSibling 下一个兄弟节点
  7. nextElementSibling 下一个元素兄弟节点
  8. previousSibling 上一个
  9. previousElementSibling

4-3classList

  1. classList对象有下列方法。
  2. add():增加一个 class
  3. remove():移除一个 class
  4. contains():检查当前元素是否包含某个 class
  5. toggle():将某个 class 移入或移出当前元素。
  6. item():返回指定索引位置的 class

例子
1.add() remove()

  1. <p id="app">hello world</p>
  2. <button id="btn">移除class</button>
  3. <script>
  4. var app = document.getElementById("app");
  5. var btn = document.getElementById("btn");
  6. app.onclick = function(){
  7. this.classList.add("current")
  8. }
  9. btn.onclick = function(){
  10. app.classList.remove("current")
  11. }
  12. </script>

2.toggle() contains()

  1. <!--
  2. toggle toggleClass();
  3. contains hasClass() 判断是否包含某个class
  4. -->
  5. <p id="app">hello world</p>
  6. <script>
  7. var app = document.getElementById("app");
  8. app.onclick = function(){
  9. // if(this.classList.contains("current")){
  10. // this.classList.remove("current")
  11. // }else{
  12. // this.classList.add("current")
  13. // }
  14. this.classList.toggle("current")
  15. }
  16. </script>

4-4ParentNode.append(),ParentNode.prepend()

  • prepend()在父元素的第一位增加元素
  • append()在父元素的最后一位增加元素
    1. <ul id="app">
    2. <li>html</li>
    3. </ul>
    4. <script>
    5. // append,prepend
    6. var app = document.getElementById("app");
    7. var p = "<h1>hello world<h1>";
    8. app.prepend(p);
    9. </script>

    4-5ChildNode 接口


4-5-1before-在元素之前插入,可以传多个值

  1. <script>
  2. var child = document.getElementById("child");
  3. child.before("before")
  4. </script>

4-5-2after-在元素之前插入,可以传多个值

  1. <script>
  2. var child = document.getElementById("child");
  3. child.after("after")
  4. </script>