jQuery常用方法

2021-01-02  本文已影响0人  amanohina

jQuery操作标签的内容

html()方法

    // 如果内部的字符串包含了标签的语法的字符,会按照 html 语法进行加载
    $box.html('这是新增加的子级<p>这是段落</p>')

text()方法

text() 方法相当于原生 JS 中的 innerText 属性,用来获取或设置标签内部文字。

val()方法

val() 方法相当于原生 JS 中的 value 属性,用来获取或设置表单元素内容。

jQuery中操作标签属性的方法

attr()方法

attr:attribute,属性的意思
内部name和value值记得要打双引号,包括下面的removeAttr()方法内的参数也是一样

removeAttr()方法

prop()方法

    // prop() 方法,直接操作的就是布尔值
    console.log($btn.prop("disabled"))
    console.log($choose.prop("checked"))
    // 设置
    $btn.prop("disabled",false)

jQuery操作css样式方法

css()方法

注意:

 // css() 传一个参数:获取对应的属性值
    console.log($box.css("width"))
    // css() 传入两个参数:设置或更改对应的属性值
    $box.css("width","400px")
    $box.css("width","400")
    $box.css("width",500)
    $box.css("width","+=100px")

    // 复合属性的单一属性写法,可以是横线写法,也可以是驼峰命名法
    console.log($box.css("background-color"))
    console.log($box.css("backgroundColor"))
    // 设置多条属性,可以使用对象形式的参数
    $box.css({
      "width": 200,
      "height": 300
    })

jQuery中操作类名的方法

不影响元素上的其他类名,只操作指定类名,很方便

addClass()添加类名

removeClass()移除类名

toggleClass()类名切换

判断类名是否存在的方法

<script>
        // 给 box 切换 demo 的类名,从而改变背景颜色
        var $box = $("#box");
        var $btn1 = $("#btn1");
        var $btn2 = $("#btn2");
        var $btn3 = $("#btn3");

        // 判断一个类名在标签中是否加载
        console.log($box.hasClass("demo"))
        // 模拟一下 切换 类名的效果
        $btn3.click(function () {
          // 判断 box 是否有 demo 的类名
          if ($box.hasClass("demo")) {
            // 如果有 demo,就删除
            $box.removeClass("demo")
          } else {
            // 如果没有 demo,就添加一个
            $box.addClass("demo")
          }
        })
    </script>

jQuery常用事件方法

mouseenter()方法

mouseleave()方法

mouseenter 和 mouseleave 没有事件冒泡
在不需要事件冒泡的情况下,在使用时替换掉mouseover 和 mouseout 更加合适。因为mouseover和mouseout具有事件冒泡

hover()方法

        // hover() 方法,对mouseenter 和 mouseleave 进行了合并书写
        $box.hover(function () {
          // 鼠标移入
          $box.addClass("demo")
        },function () {
          // 鼠标离开
          $box.removeClass("demo")
        })

jQuery关系查找方法

$(this)自己

parent()父级

      // 找到事件源的 父级元素,添加黄色背景
      $(this).parent().css("background-color","yellow")

children()子级

    $box.click(function () {
    //   // 获取子级
      // $(this).children().css("background-color","pink")
    //   // 添加参数后,会按照指定的选择器在子级中进行二次选择
      $(this).children("p").css("background-color","pink")
    })

siblings() 兄弟

      // 查找兄弟元素
      // $(this).siblings().css("background-color","skyblue")
      $(this).siblings("h2").css("background-color","skyblue")

链式调用

    $ps.click(function () {
      // 让点击的自己 颜色变红色
      // jQuery 对象调用除了节点关系的方法之外,其他的方法执行后,返回值就是 对象自己
      // 可以继续链式调用其他的 jQuery 对象的方法和属性
      // 好处:简化代码书写
      // console.log($(this).css("background-color","red").html("哈哈"))
      $(this).css("background-color", "red")        // 自己变红色
      .siblings().css("background-color", "gold")   // 兄弟变金色
      .parent().css("background-color", "pink")     // 父级变粉色
      .siblings().css("background-color", "blue")   // 父级的兄弟变蓝色
      .children().css("background-color", "yellowgreen")  // 父级的兄弟的子级变黄绿色

    })

其他关系查找方法

find()后代元素

兄弟元素

紧邻的兄弟元素方法

parents()祖先级
通过该方法得到的是指定对象的包含body在内的所有祖先级元素组成的jQuery对象

案例:验证码控制按钮

逻辑:

<body>
  <input type="text">
  <input type="button" value="发送">
  <script src="js/jquery-1.12.4.min.js"></script>
  <script>
    // 获取元素
    var $btn = $("input:button")
    // 添加按钮的点击事件
    $btn.click(function () {
      // 定义一个变量存储时间的数字
      var n = 5;
      // 让按钮被禁用
      // 替换按钮的文字内容
      $(this).prop("disabled",true).val(n + "s 后重新发送")
      // 每隔 1s 更改倒计时内容
      // 通过定时器进行每隔 1s 减时间效果
      // 使用箭头函数定义定时器,原因是没有this,避免定时器内部的this指向window
      var timer = setInterval(() =>{
        n--;
        $(this).val(n + "s 后重新发送");
        if(n<=0){
          clearInterval(timer);
          $(this).val("重新发送").prop("disabled",false);
        }
      },1000)
    })
    
  </script>
</body>

案例:放大镜切换项

上一篇下一篇

猜你喜欢

热点阅读