一、jQuery介绍

二、jQuery对象

三、jQuery基础语法

四、事件

五、动画效果

六、补充each

一、jQuery简介

  1.jQuery介绍

  1. jQuery是一个轻量级的、兼容多浏览器的JavaScript库。

  2. jQuery使用户能够更方便地处理HTML Document、Events、实现动画效果、方便地进行Ajax交互,能够极大地简化JavaScript编程。它的宗旨就是:“Write less, do more.‘’

  2.jQuery的优势

  1. 一款轻量级的JS框架。jQuery核心js文件才几十kb,不会影响页面加载速度。

  2. 丰富的DOM选择器,jQuery的选择器用起来很方便,比如要找到某个DOM对象的相邻元素,JS可能要写好几行代码,而jQuery一行代码就搞定了,再比如要将一个表格的隔行变色,jQuery也是一行代码搞定。

  3. 链式表达式。jQuery的链式操作可以把多个操作写在一行代码里,更加简洁。

  4. 事件、样式、动画支持。jQuery还简化了js操作css的代码,并且代码的可读性也比js要强。

  5. Ajax操作支持。jQuery简化了AJAX操作,后端只需返回一个JSON格式的字符串就能完成与前端的通信。

  6. 跨浏览器兼容。jQuery基本兼容了现在主流的浏览器,不用再为浏览器的兼容问题而伤透脑筋。

  7. 插件扩展开发。jQuery有着丰富的第三方的插件,例如:树形菜单、日期控件、图片切换插件、弹出窗口等等基本前端页面上的组件都有对应插件,并且用jQuery插件做出来的效果很炫,并且可以根据自己需要去改写和封装插件,简单实用。

  3.jQuery内容

  1. 选择器

  2. 筛选器

  3. 样式操作

  4. 文本操作

  5. 属性操作

  6. 文档处理

  7. 事件

  8. 动画效果

  9. 插件

  10. each、data、Ajax

二、jQuery对象

jQuery对象就是通过jQuery包装DOM对象后产生的对象。jQuery对象是 jQuery独有的。如果一个对象是jQuery对象,那么它就可以使用jQuery里的方法:例如$(“#i1”).html()

$(“#i1”).html()的意思是:获取id值为i1的元素的html代码。其中 html()是jQuery里的方法。

相当于: document.getElementById("i1").innerHTML;

虽然 jQuery对象是包装 DOM对象后产生的,但是 jQuery对象无法使用 DOM对象的任何方法,同理 DOM对象也没不能使用 jQuery里的方法。

 

一个约定,我们在声明一个jQuery对象变量的时候在变量名前面加上$

var $variable = jQuery对像
var variable = DOM对象
$variable[0]//jQuery对象转成DOM对象

拿上面那个例子举例,jQuery对象和DOM对象的使用:  

$("#i1").html();//jQuery对象可以使用jQuery的方法
$("#i1")[0].innerHTML;// DOM对象使用DOM的方法

三、jQuery基础语法

 3.1 查找标签

  3.1.1选择器

ID选择器

$("#id")

标签选择器

$("tagName")

class选择器  

$(".className")

配合使用  

$("div.c1")  // 找到有c1 class类的div标签

所有元素选择器  

$("*")

组合选择器

$("#id, .className, tagName")

层级选择器  

x和y可以为任意选择器
$("x y");// x的所有后代y(子子孙孙) $("x > y");// x的所有儿子y(儿子) $("x + y")// 找到所有紧挨在x后面的y $("x ~ y")// x之后所有的兄弟y

基本选择器

:first // 第一个
:last // 最后一个
:eq(index)// 索引等于index的那个元素
:even // 匹配所有索引值为偶数的元素,从 0 开始计数
:odd // 匹配所有索引值为奇数的元素,从 0 开始计数
:gt(index)// 匹配所有大于给定索引值的元素
:lt(index)// 匹配所有小于给定索引值的元素
:not(元素选择器)// 移除所有满足not条件的标签
:has(元素选择器)// 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)

例子

$("div:has(h1)")// 找到所有后代中有h1标签的div标签
$("div:has(.c1)")// 找到所有后代中有c1样式类的div标签
$("li:not(.c1)")// 找到所有不包含c1样式类的li标签
$("li:not(:has(a))")// 找到所有后代中不含a标签的li标签

练习:

自定义模态框,使用 jQuery 实现弹出和隐藏功能

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>模态框</title>

    <style>
        /*<!--设置背景是绝对定位position-->*/
        .cover{
            position: absolute;
            top:0;
            right:0;
            bottom: 0;
            left: 0;
            background-color: rgba(0,0,0,0.4);
            z-index: 998;/*设置对象的层叠顺序,数值大的会覆盖在数值小的标签之上。z-index 仅能在定位元素上奏效*/
        }
        .modal{

            position: absolute;
            left:50%;
            top:50%;
            /*------------*/
            height: 400px;
            width: 600px;
            background-color: white;
            /*=------------=*/
            margin-left: -300px;
            margin-top: -200px;
            z-index: 1000;         /*设置对象的层叠顺序,数值大的会覆盖在数值小的标签之上。z-index 仅能在定位元素上奏效*/
        }
        /*在浏览器中不显示*/
        .hide{
            display: none;
        }
    </style>
</head>
<body>
<button id="b1">屠龙宝刀,点击就送</button>
<!--对话框边上的背景-->
<div class="cover hide"></div>
<!--弹出来的对话框-->
<div class="modal hide">
    <form>
        <p>
            <label>
                用户名:
                <input type="text">
            </label>
        </p>
        <p>
            <label>&nbsp&nbsp&nbsp码:
                <input type="password">
            </label>
        </p>
        <p>
            <input type="submit" value="登陆">
            <input id="cannel" type="button" value="取消" >
        </p>
    </form>
</div>
<script src="jquery-3.2.1.min.js"></script>

<script>
    $("#b1").click(function () {
        //  一点击就去点cover和modal 中的hide
        $('.cover').removeClass('hide');
        $('.modal').removeClass('hide');
    });

//    现在点击取消按钮,是没有任何效果的。所以为取消按钮绑定事件
    $("#cannel").click(function () {
        $(".cover").addClass("hide");
        $(".modal").addClass("hide")

    })



</script>





</body>
</html>
jQuery版自定义模态框

相关文章:

  • 2021-08-23
  • 2022-01-14
猜你喜欢
  • 2021-11-29
  • 2021-10-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-29
  • 2022-01-18
相关资源
相似解决方案