初识JQuery

一、见识JQuery

  • jquery是一个js文件,是当前比较流行的javascript函数库,它封装了原生的javascript代码

  • 特点:

    • write less,do more

  • 使用

    • 想要使用jquery,需要在html页面引入jquery库

  • 案例:实现表格隔行变色

    • js

    • window.onload = function () {
          //获取所有的tr
          let trs = document.getElementsByTagName("tr");
          //下标为偶数:红色,奇数:蓝色
          for (let i = 0; i < trs.length; i++) {
              if (i % 2 == 0) {
                  trs[i].style.backgroundColor = "red";
              } else {
                  trs[i].style.backgroundColor = "blue"
              }
          }
      }

    • jquery

      //用jQuery实现表格的隔行变色
      //当页面的内容加载完成后
      $(document).ready(function () {
          //所有的jquery代码都写在这里面
          //$("tr"):获取所有的tr,相当于document.getElementsByTagName("tr")
          //下标为偶数:even,奇数:odd
          $("tr:even").css("background-color","red");
          $("tr:odd").css("background-color","blue")
      })

  • $就是jquery,$("#myTab")相当于:document.getElementById("myTab")

  • $(document).ready(function () {} ) 的作用:等网页全部载入后再执行js代码,所有的变量、方法等都要写在里面

二、JQuery的常用选择器

  • javascript中获取dom元素的代码太繁琐,所以出现了JQuery选择器

  • jquery选择器可以帮助我们快速的定位到一个或多个dom元素

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <div id="div01">第一个div</div>
        <div class="myDiv">第二个div</div>
        <p class="myDiv">第一个p</p>
        <p>这是一段话</p>
        <p>好好学习</p>
        <p>天天向上</p>
    ​
        <div id="div02">
            <p>div里面的段落</p>
            <div>内层div
                <p>最内层的段落</p>
            </div>
        </div>
        <ul id="ul01">
            <li>刘备</li>
            <li>关羽</li>
            <li id="li01">张飞</li>
            <li>大乔</li>
            <li>小乔</li>
            <li>黄忠</li>
            <li>马超</li>
            <li>吕布</li>
        </ul>
        <input type="text" name="uname" value="张三">
        <input type="password" name="pwd">
        <script src="../js/jquery-3.1.1.min.js"></script>
        <script>
            $(document).ready(function () {
                //1.基本选择器
                //1.1 id选择器
                $("#div01").css("width","200px");
                $("#div01").css("height","200px");
                $("#div01").css("background-color","yellow");
                //1.2 类选择器
                $(".myDiv").css("width","200px")
                $(".myDiv").css("height","100px");
                $(".myDiv").css("background-color","green");
                //1.3 标签选择器
                alert($("p").length);
                //1.4 组合选择器,用英文逗号分隔
                $("#div01,p").css("font-size", "24px")
                //2.层次选择器
                //将id为div02的div下的所有p标签中的字体设置为16号、隶书
                //2.1后代选择器,指的是所有的后代,包括儿子辈,孙子辈。。。
                $("#div02 p").css("font-size", "16px").css("font-family", "隶书")
                //将id为div02的div下的直接p标签背景色设置为粉色
                //2.2子选择器
                $("#div02>p").css("background-color", "pink")
                //3.过滤选择器
                //3.1获取第一个li
                $("li:first").css("background-color","red");
                //3.2获取最后一个li
                $("li:last").css("background-color","blue")
                //3.3 获取偶数行
                $("li:even").css("font-family","隶书")
                //3.4 获取奇数行
                $("li:odd").css("font-family","微软雅黑")
                //3.5 下标等于3的li
                $("li:eq(3)").css("color","green");
                //3.6 下标小于3的li
                $("li:lt(3)").css("color", "yellow");
                //3.7 下标大于3的li
                $("li:gt(3)").css("color", "pink");
                //3.8 获取id不为li01的标签
                $("li:not(#li01)").css("font-size", "16px")
                //4.属性选择器
                //4.1 选择type为text的dom元素,冒号更侧重于种类,一般用于type
                $(":text").css("border-color","red");
                //或:[]更侧重于属性,一般用于出type之外的其他属性
                $("[type=text]").css("background","yellow")
                //获取name属性值为pwd的元素
                $("[name=pwd]").css("border-color","blue")
            })
        </script>
    </body>
    </html>

三、jquery选择器的优势

  • 简洁:

  • 有更完善的处理机制

  • alert($("#aaa").text())
    })
    //页面中没有id为aaa的元素,报错
    alert(document.getElementById("aaa").innerText)

四、jquery的常用事件

  • DOM加载

    $(document).ready(function(){})
    //简写为:
    $(function(){})
  • 点击事件:click

    $(function () {
        //点击按钮就是获取到按钮然后触发按钮的点击方法
        $("#btn").click(function () {
            //val():如果不传值是获取value属性值,传值是给value属性赋值
            let uname = $("[name=uname]").val();//获取值
            if (uname == "") {
                $("[name=uname]").val("张三")//赋值
            } else {
                alert(uname);
            }
        })
    })

  • 双击事件:dblclick()

  • 域的内容被改变:change() 注意:按钮没有这个事件

  • 失去光标和获得光标:blur()、focus()

    //输入框获得光标背景色为绿色,失去光标背景色为红色
    $("[name=uname]").focus(function(){
        //this: 触发方法的这个对象
        $(this).css("background-color","green");
    }).blur(function(){
        $(this).css("background-color","red")
    })

  • 合成事件:hover()

    • 属于jquery的自定义事件,模拟鼠标悬停,当鼠标移动到元素上时触发第一个函数,当鼠标从元素上移开时触发第二个函数

      $("#ul01 li").hover(function(){
          $(this).css("color","red")
      },function(){
          $(this).css("color","blue")
      });

五、jquery的常用动画

  • 隐藏和显示

    //点击按钮实现ul的显示和隐藏
    $("#btn").click(function () {
        //this是按钮,next()是获取下一个元素
        //is(":hidden"):判断元素是否是隐藏状态,隐藏返回true
        /*if ($(this).next().is(":hidden")){
            $(this).next().show(1000);//显示,时间为毫秒,可省略
        } else {
            $(this).next().hide(1000);//隐藏
        }*/
        $(this).next().toggle(1000);

  • 淡入淡出

    //点击按钮实现ul的淡入和淡出
    $("#btn").click(function () {
        /*if($(this).next().is(":hidden")) {
            //淡入
            $(this).next().fadeIn(2000) //时间为毫秒,可省略
        } else {
            $(this).next().fadeOut(2000)
        }*/
        //简写为:
        $(this).next().fadeToggle(2000)
    })

  • 滑动

    //点击按钮实现ul的滑动
    $("#btn").click(function () {
        /*if($(this).next().is(":hidden")) {
            //滑下来
            $(this).next().slideDown(2000) //时间为毫秒,可省略
        } else {
            $(this).next().slideUp(2000)
        }*/
        //简写为:
        $(this).next().slideToggle(2000)
    })

  • 16
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值