初识jQuery用法(1)

目录

jQuery简单了解

 jQuery的引入

 jQuery理解

 jQuery的入口函数

 jQuery学习参考网址

jQuery的选择器

 基本选择器

层级选择器( > + ~ )

过滤选择器(:first)

属性选择器

表单选择器

jQuery元素节点筛选

jQuery链式调用和转换为jQuery对象的方法 

jQuery链式调用 

js对象和jQuery对象的相互转化

 原生js对象转为jQuery对象

jQuery对象转为原生js对象

index的使用


jQuery简单了解

jQueryjavaScript封装的一个常用方法库,write less,more than. 写的更少,做的更多

jQuery 是一个高效、精简并且功能丰富的 JavaScript 工具库。它提供的 API 易于使用且兼容众多浏览器,这让诸如 HTML 文档遍历和操作、事件处理、动画和 Ajax 操作更加简单。 

jQuery 极大地简化了 JavaScript 编程。

jQuery 很容易学习。

jQuery 库可以通过一行简单的标记被添加到网页中。

jQuery 是一个 JavaScript 函数库。

jQuery 库包含以下特性:

  • HTML 元素选取
  • HTML 元素操作
  • CSS 操作
  • HTML 事件函数
  • JavaScript 特效和动画
  • HTML DOM 遍历和修改
  • AJAX
  • Utilities

 jQuery的引入

<!-- 在线方式 CDN  -->
    <!-- <script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.12.4/jquery.js"></script> -->
    <!-- 本地引入-->
    <script src="./js/jquery.1.12.4.js"></script>
    <script>
        // 版本的区别:
        // 1.xx.x: PC端全兼容的
        // 2.xx.x: 提供了一些新的API  不全兼容
        // 3.xx.x:相当于1.xx.x 和2.xx.x综合增加了一些新的API,删除一部分API  不全兼容
        // jQuery的引入
        $("div").css({
            width:500,
            height:500,
            backgroundColor:"red"
        });
    </script>

 jQuery理解

<script src="./js/jquery.1.12.4.js"></script>
    <script>
        
            var version = "1.12.4",

            // Define a local copy of jQuery
            jQuery = function( selector, context ) {

                // The jQuery object is actually just the init constructor 'enhanced'
                // Need init if jQuery is called (just allow error to be thrown if not included)
                return new jQuery.fn.init( selector, context );
            },


            jQuery函数调用,返回了jQuery这个类的实例 实例的本质就是对象



            // 给window自定义属性 jQuery 和 $ 赋值为  jQuery这个函数
            if ( !noGlobal ) {
                window.jQuery = window.$ = jQuery;
            }

       
        // 要使用jQury中的API都要用 $ 或 jQuery
    </script>

 jQuery的入口函数

 <script src="./js/jquery.1.12.4.js"></script>
    <script>
        //  window.onload  和   $(document).ready(callBack); 区别:
        //  window.onload保证所有的资源    $(document).ready(callBack)保证结构加载完毕,执行速度更多
        // window.onload使用DOM0绑定后边覆盖前边,jQuery入口函数后边不会覆盖前边的
        window.onload = function () { //保证所有的资源加载完毕再去执行js代码
            var box = document.getElementById("box");
            console.log(box);
            console.log("aa");
        }

        window.onload = function () {
            var box = document.getElementById("box");
            console.log(box);
            console.log("bb");
        }


        // 保证结构加载完毕再去执行js代码
        $(document).ready(function () {
            var box = document.getElementById("box");
            console.log(box);
            console.log("aa1");
        });


        $(document).ready(function () {
            var box = document.getElementById("box");
            console.log(box);
            console.log("bb1");
        });


        // $这个函数传递不同的参数有不同的功能
        // $(callBack);   推介使用  $这个函数传递一个参数是一个函数的话就是入口函数
        $(function () {
            var box = document.getElementById("box");
            console.log(box);
        });
    </script>

 jQuery学习参考网址

 https://jquery.cuishifeng.cn/

jQuery的选择器


 

 jQuery中所有的选择器,都是为了更快获取要操作的元素  通过jQuery选择器获取到的都是jQuery对象

  $这个函数传递不同的参数有不同的作用

        $(callBack);   入口函数

        $("字符串");  选择器

        内置迭代

     

 基本选择器

// 基本选择器
        // $("#id值");
        console.log($("#box1"));
        console.log($("#box1").length);
        $("#box1").css("backgroundColor", "red");


        // $(".class值");
        console.log($(".myBox"));
        console.log($(".myBox").length);
        $(".myBox").css("backgroundColor", "blue");


        // $("tagName");
        console.log($("ul"));
        $("ul").css("backgroundColor", "yellow");

        // 过滤选择器
        console.log($("ul.myBox1"));

        // 并列选择器
        console.log($("ul.myBox1,div.test"));

层级选择器( > + ~ )

   // $("选择器1 选择器2 ...")  后代选择器
        console.log($("ul.myBox1 li"));
      /*   jQuery.fn.init(6)
        0: li
        1: li
        2: li
        3: li
        4: li
        5: li
        context: document
        length: 6
        prevObject: jQuery.fn.init[document, context: document]
        selector: "ul.myBox1 li" [
            [Prototype]
        ]: Object(0) */
        // $("ul.myBox1  li").css("backgroundColor","green");

        // $("选择器1  > 选择器2 ...")   直接后代
        $("ul.myBox1 > li").css("backgroundColor", "green");


        // $("选择器1 + 选择器2")  匹配所有紧接在 prev 元素后的 next 元素
        console.log($("h2 + ul"));

        // $("选择器1 ~ 选择器2")  匹配 prev 元素之后的所有 siblings(相邻) 元素
        console.log($("h2 ~ ul"));

过滤选择器(:first)

// $("选择器:first ");  获取匹配的第一个元素
        console.log($("ul.myBox1 li:first"));

        // $("选择器:last ");  获取匹配的最后一个元素
        console.log($("ul.myBox1 li:last"));


        // $("选择器:first-child ");  获取第一个元素(对位置有要求)
        console.log($("ul.myBox1 > li:first-child"));

        // $("选择器:last-child ");  获取最后一个元素(对位置有要求)
        console.log($("ul.myBox1 > li:last-child"));

        //:even (匹配的是偶数索引,对应奇数行) / :odd(匹配的是奇数索引,对应偶数行)
        $("#box2 li:even").css("backgroundColor","red");
        $("#box2 li:odd").css("backgroundColor","blue");

        
        //:lt(index); 小于这个索引
        //:eq(index); 对应索引
        //:gt(index); 大于这个索引
        $("#box3 li:eq(5)").css("backgroundColor","red");
        $("#box3 li:lt(5)").css("backgroundColor","yellow");
        $("#box3 li:gt(5)").css("backgroundColor","blue");

属性选择器

  // 单个值可以省略单引号或双引号
        // [attr]  包含某个属性
        console.log($("div[class]"));
        //id
        console.log($('div[id]'));
        //  [attr=val] 属性值等于某个值
        console.log($("div[class='box2']"));
        console.log($("div[class='box1 box2']"));

        //  [attr^=val] 属性值以某个值开头
        console.log($("div[class^=b]"));

        //  [attr$=val] 属性值以某个值结尾
        console.log($("div[class$=1]"));

        //  [attr*=val] 属性值包含某个值
        console.log($("div[class*=1]"));

        //  [attr!=val] 属性值不包含某个值
        console.log($("div[class!=box2]"));

表单选择器

// :enabled  匹配未禁用的表单元素
        console.log($("input:enabled"));

        // :disabled  匹配禁用的表单元素
        console.log($("input:disabled"));

        // :type值
        console.log($("input:text"));
        console.log($("input:checkbox"));
        console.log($("input:radio"));

        console.log($("input[type=text]"));
        console.log($("input[type=number]"));


        // 匹配选中状态的表单元素
        // :checked
        console.log($("input[type=checkbox]"));
        console.log($("input[type=checkbox]:checked"));
        console.log($("input[type=checkbox]:checked").length);

        //  :selected
        console.log($("select option:selected"));
        console.log($("select option:selected").length);

jQuery元素节点筛选

  // jQuery中方法的返回值都是jQuery对象

        // $("选择器").children([*]); 获取所有直接的元素子节点
        // "*":默认值是* 通配符 匹配所有  传递传参数可以进行过滤
        // 参数:选择器
        console.log($(".wrap").children());
        console.log($(".wrap").children("ul"));
        console.log($(".wrap").children(".hello"));


        //  $("选择器").find("选择器");  获取匹配的子元素(包含子子孙孙)
        console.log($(".wrap").find("ul"));


        // first(); 获取第一个元素
        // first(); 获取最后一个元素
        console.log($("#box > li").first());
        console.log($("#box > li").last());


        // prev();  上一个兄弟元素
        console.log($("#box3").prev());

        // prevAll([*]); 获取所有的哥哥元素  
        //  传递传参数可以进行过滤
        // 参数:选择器
        console.log($("#box3").prevAll());
        console.log($("#box3").prevAll("ul"));



        // next();  下一个兄弟元素
        console.log($("#box3").next());

        // nextAll([*]); 获取所有的弟弟元素
        // 传递传参数可以进行过滤
        // 参数:选择器
        console.log($("#box3").nextAll());
        console.log($("#box3").nextAll("p"));


        // parent();  获取直接父级元素
        console.log($("#box3").parent());

        // parents();  获取所有的父级元素
        // 传递传参数可以进行过滤
        // 参数:选择器
        console.log($("#box3").parents("div"));

        // siblings(["*"]);  获取所有的相邻元素
        // 传递传参数可以进行过滤
        // 参数:选择器
        console.log($("#box3").siblings());
        console.log($("#box3").siblings("ul"));
        console.log($("#box3").siblings("p"));

        $("#box3").siblings("ul").css("backgroundColor", "red");

 

jQuery链式调用和转换为jQuery对象的方法 


jQuery链式调用 

  var arr = [1,5,3,4,2];
        // 链式调用每次方法调用完成返回的都是当前这个类的实例(对象)
        var res =  arr.sort().splice(1,3).slice(1,);
        console.log(res);


        $("div").css("width","500px").css("height","200px").css("backgroundColor","red");

js对象和jQuery对象的相互转化

 原生js对象和jQuery对象是相互独立的,API不互通,需要进行相互转换 

    var div = document.getElementsByTagName("div")[0];
        var arr = [1, 2, 3, 4];
        var obj = {
            name: "哈哈"
        };
        console.dir(div);
        // div.style.width = "100px";
        // div.style.height ="100px";
        // div.style.backgroundColor ="red";


        var $div = $("div");
        console.log($div);
        // $div.css({
        //     width:200,
        //     height:200,
        //     backgroundColor:"red"
        // });

 原生js对象转为jQuery对象

 // $(原生js对象);
        var $oDiv = $(div);
        console.log($oDiv);
        $oDiv.css({
            width: 200,
            height: 200,
            backgroundColor: "red"
        });


        var $arr = $(arr);
        console.log($arr);

        var $obj = $(obj);
        console.log($obj);

jQuery对象转为原生js对象

// jQuery对象.get(index);
        // jQuery对象[index];
        // var div1 = $oDiv.get(0);
        var div1 = $oDiv[0];
        console.log(div1);

        var obj1 = $obj.get(0);
        console.log(obj1);

index的使用


 // $(参数);
        // 参数不同作用不同
        // callBack:入口函数
        // 字符串:选择器
        // 原生js对象:转为jQuery对象

        // 获取元素
        var $oLis = $("ul li");
        console.log($oLis);
        // 初始化样式
        $oLis.css({
            lineHeight: "30px",
            backgroundColor: "red",
            marginBottom: "10px"
        });

        // 绑定事件
        // jQuery中内置迭代
        // jQuery对象.事件类型(callBack);

        // index("selector");
        //selector:选择器
        $oLis.click(function () {
            console.log(this);
            // 将原生js对象转为jQuery
            var $li = $(this);
            console.log($li);
            // 不传递参数返回所在结构的索引
            // var index = $li.index();
            // 传递参数返回获取到这个jQuery对象中的索引
            var index = $li.index("li");
            console.log(index);
        });

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值