• 初识jQuery


    jQuery

    体验传统JavaScript写法

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>JavaScript动态展示</title>
        <style>
            div{
                height: 200px;
                margin-bottom: 10px;
                background: pink;
                display: none; /* 不显示,进行隐藏   */
            }
        </style>
    </head>
    <body>
    <input type="button" value="显示div" id="but1">
    <input type="button" value="显示内容" id="but2">
    <div></div>
    <div></div>
    <div></div>
    </body>
    </html>
    
    // 等待页面加载完执行JavaScript代码
    window.onload = function () {
        var but1 = document.getElementById("but1"); // 获取id为but1的元素
        var but2 = document.getElementById("but2");
        var divs = document.getElementsByTagName("div");
        but1.onclick = function () {
            for (var i=0;i<divs.length;i++){
                divs[i].style.display = "block";
            }
        };
        but2.onclick = function () {
            for (var i=0;i<divs.length;i++){
                divs[i].innerText = "我是内容";
            }
        }
    }
    

    JavaScript中的缺点:

    1. 查找元素的方法很少,麻烦
    2. 遍历伪数组比较繁杂, 嵌套一大堆for循环
    3. 有兼容性问题,实现动画效果很复杂
    4. 代码冗余

    什么是jQuery

    jQuery的写法

    $(document).ready(function () {
        // 注册事件
        $("#btn1").click(function () {
            // 隐式迭代: jQuery自动的遍历
            $("div").show(1000);
        });
        $("#btn2").click(function () {
            $("div").text("我是内容")
        })
    })
    

    jQuery是一个JavaScript的函数库

    jQuery是一个轻量级的JavaScript库

    jQuery的功能:

    1. HTML元素选择
    2. HTML元素操作
    3. CSS操作
    4. HTML事件函数
    5. JavaScript特效和动画
    6. HTML DOM 遍历和修改
    7. AJAX
    8. Utilities

    除此之外,还提供了大量的插件

    jQuery的版本

    版本分类

    1.x版本:能够兼容IE678浏览器
    2.x版本:不兼容IE678浏览器
    1.x和2.x版本jquery都不再更新版本了,现在只更新3.x版本。
    
    3.x版本:不兼容IE678,更加的精简(在国内不流行,因为国内使用jQuery的主要目的就是兼容IE678)
    

    压缩版和未压缩版

    jquery-1.12.4.min.js:压缩版本,适用于生产环境,因为文件比较小,去除了注释、换行、空格等东西,但是基本没有颗阅读性。
    jquery-1.12.4.js:未压缩版本,适用于学习与开发环境,源码清晰,易阅读。
    

    jQuery的入口函数

    使用jQuery的三个步骤

    1. 引入jQuery函数
    2. 入口函数
    3. 功能实现

    入口函数的书写

    // 第一种写法
    $(document).ready(function() {
      
    });
    
    // 第二种写法
    $(function() {
      
    });
    

    jQuery入口函数和js入口函数对比

    1. JavaScript的入口函数要等到页面中所有资源(包括图片、文件)加载完成才开始执行。
    2. jQuery的入口函数只会等待文档树加载完成就开始执行,并不会等待图片、文件的加载。

    jQuery对象和DOM对象的区别(重点)

    1. DOM对象:使用JavaScript中的方法获取页面中的元素返回的对象就是dom对象。
    2. jQuery对象:jquery对象就是使用jquery的方法获取页面中的元素返回的对象就是jQuery对象。
    3. jQuery对象其实就是DOM对象的包装集(包装了DOM对象的集合(伪数组))
    4. DOM对象与jQuery对象的方法不能混用。

    DOM对象转为jQuery对象

    联想记忆 美刀

    var $obj = $(domObj);
    // $(document).ready(function() {}); 就是典型的DOM对象转为jQuery对象
    

    jQuery对象转为DOM对象

    var $div = $("div");
    // 第一种方法, 推荐使用
    $div[0];
    
    // 第二种写法
    $div.get(0) // 类似py中的字典取值
    

    $符号的含义

    $其实就是一个函数,以后用$的时候,记得跟小括号 $();

    参数不同,功能就不同3种用法

    • 参数是一个function, 入口函数
    $(function () {
    
    });
    console.log(typeof $);
    
    • $(domobj) 把dom对象转换成jquery对象
    $(document).ready(function () {
    
    });
    
    • 参数是一个字符串,用来找对象
    $("div"); $("div ul");   $(".current")
    

    选择器

    什么是jQuery的选择器

    jQuery选择器是为我们提供的一组方法,让我们更加方便获取页面元素

    注意:jQuery选择器返回的是一个jQuery对象

    基本选择器

    名称 用法 描述
    ID选择器 $(“#id”); 获取指定ID的元素
    类选择器 $(“.class”); 获取同一类class的元素
    标签选择器 $(“div”); 获取同一类标签的所有元素
    并集选择器 $(“div,p,li”); 使用逗号分隔,只要符合条件之一就可。
    交集选择器 $(“div.redClass”); 获取class为redClass的div元素

    总结:跟css的选择器用法一模一样。

    层级选择器

    名称 用法 描述
    子代选择器 $(“ul>li”); 使用>号,获取儿子层级的元素,注意,并不会获取孙子层级的元素
    后代选择器 $(“ul li”); 使用空格,代表后代选择器,获取ul下的所有li元素,包括孙子等

    跟CSS的选择器一模一样。

    过滤选择器

    这类选择器都带冒号:

    名称 用法 描述
    :eq(index) $(“li:eq(2)”).css(“color”, ”red”); 获取到的li元素中,选择索引号为2的元素,索引号index从0开始。
    :odd $(“li:odd”).css(“color”, ”red”); 获取到的li元素中,选择索引号为奇数的元素
    :even $(“li:even”).css(“color”, ”red”); 获取到的li元素中,选择索引号为偶数的元素

    筛选选择器(方法)

    筛选选择器的功能与过滤选择器有点类似,但是用法不一样,筛选选择器主要是方法。

    名称 用法 描述
    children(selector) $(“ul”).children(“li”) 相当于$(“ul>li”),子类选择器
    find(selector) $(“ul”).find(“li”); 相当于$(“ul li”),后代选择器
    siblings(selector) $(“#first”).siblings(“li”); 查找兄弟节点,不包括自己本身。
    parent() $(“#first”).parent(); 查找父亲
    eq(index) $(“li”).eq(2); 相当于$(“li:eq(2)”),index从0开始
    next() $(“li”).next() 找下一个兄弟
    prev() $(“li”).prev() 找上一次兄弟
  • 相关阅读:
    一步一步理解拖拽Drag(二)
    Android获得屏幕大小和方向
    Android动画之translate(位移动画)
    解决ScrollView中填充内容上下会有阴影的问题
    Android UI 动画效果Animation
    浅谈onInterceptTouchEvent、onTouchEvent与onTouch 事件的分发
    解决ViewFlipper中的onClick事件和onFling事件冲突
    viewpager开源项目 ViewPagerIndicator
    Android LayoutInflater
    Android 动画效果 Animation 动画(讲解了所有的Android动画效果,是一个值得收藏的帖子)
  • 原文地址:https://www.cnblogs.com/liudemeng/p/11543678.html
Copyright © 2020-2023  润新知