zoukankan      html  css  js  c++  java
  • JQUERY-修改-API-事件绑定

    正课:

    1. 修改:

    2. 节点间关系查找:

    3. 添加,删除,克隆,替换:

    4. 事件绑定:

    1. 修改:

     内容

      html片段: .html(["html片段"])     .innerHTML

      text文本: .text(["文本"])      .textContent

      表单元素: .val([""])     .value

     属性:

      HTML标准属性

       $elem.attr("属性"[,""])

        代替: setAttribute()  getAttribute();

        简写: 可用一个attr,修改多个属性值:

          $elem.attr({

            属性: "",
              ... : ...

          })

      状态属性

       $elem.prop("状态"[,true/false])

       attr vs prop

        本质: attr: 读取HTML中开始标签中的任意属性

             prop: 读取内存对象中的属性

      自定义扩展属性:

        $elem.data("自定义扩展属性名"[,""])

            //.dataset

     样式:

      $elem.css("css属性名","属性")

       强调: 单个数值,不用加px单位

       修改: 等效于elem.style.css属性

       获取: 等效于getComputedStyle()

       简写: 时修改多个css属性:

        $elem.css({

          css属性名:"",

            ... : ...

        })

       问题: 代码繁琐

       解决: class批量应用/撤销样式

        $elem.addClass("class");

        $elem.removeClass("class");

        $elem.hasClass("class");

       

        $elem.toggleClass("class")

         等效: if(hasClass())  removeClass()  else  addClass()

    2. 节点间关系查找:

     2大类关系:

     1. 父子

       .parent()     .parentNode

       .children(["selector"])    .children

         .find("selector")  所有后代中查找符合条件的

       .children().first()  .firstElementChild

       .children(":first")

       .children(":first-child")

       .children().last()   .lastElemenChild

       .children(":last")

       .children(":last-child")

     2. 兄弟:

      .prev()     .previousElementSibling

        .prevAll(["selector"])

      .next()     .nextElementSibling

        .nextAll(["selector"])

      .siblings(["selector"])

    3. 添加,删除,替换,克隆:

     添加: 2:

       1. HTML代码片段创建新元素:

          var $elem=$("html片段")

       2. 新元素添加到DOM

          $parent.append ($elem) //返回父元素,无法继续对元素操作

          $elem.appendTo("parent") //返回新元素,可继续对新元素操作

       

          $parent.prepend($elem)

          $elem.prependTo($parent)

          $child.before($elem)

          $child.after($elem)

      简化: $parent.append/prepend("html")

     删除: $elem.remove();

     替换: $.replaceWith($) //$

          $.replaceAll($)  //$

     克隆: $elem.clone();

       默认: 克隆: 只复制属性和样式,不复制行为

            深克隆: 即复制属性和样式,又复制行为

                   $elem.clone(true)

    4. 事件绑定:

     鄙视: jquery中共有几种事件绑定方式有什么不同?

      DOM: .addEventListener();

           .removeEventListener();

      1. .bind()/.unbind()

        .unbind() 3重载:

          .unbind("事件",处理函数) 移除指定事件上的一个指定的处理函数

          .unbind("事件")  移除指定事件上绑定的所有处理函数

          .unbind()  移除所有事件的所有处理函数

      2. .one()  绑定后,只触发一次处理函数,触发后自动解绑

      3. .delegate() 事件委托

       其实就是利用冒泡的简化版

        $parent.delegate("selector","事件",function(){

          var $tar=$(this);

          

        })

        .undelegate(...)

      4. 废弃: .live/die()  废弃

      5. .on()/off()

       2重载:

        1. 代替bind 2个参数: .on("事件",function(){ ... })

        2. 代替delegate, 3参数:

    .on("事件","选择器",function(){ ... })

      6. 更简化:  .事件()

  • 相关阅读:
    Android 播放音频
    Android Service 入门
    Android ConstraintLayout 说明和例子
    Android LiveData使用
    C# MVC MVP
    shell--4.echo和printf
    shell--3.运算符
    shell--2.shell数组
    mongDB-- 3. 查询操作
    问题--feed列表有新闻重复的问题
  • 原文地址:https://www.cnblogs.com/QiliPING9/p/9028067.html
Copyright © 2011-2022 走看看