WEB前端.jQuery

持续更新呢,莫(mo)急(yu)。。。。ヽ( ̄▽ ̄)ノヽ( ̄▽ ̄)ノ

后续会补全代码块注释,并加入body标签内容

篇首节

README:

定位:WEB前端
目的:适合有jQuery知识基础萌新阅读。本文总结jQuery相关语法,常用操作,关键字等,用于快速的(每个支线仅有一个强综合性的案例)阅览复习知识点。
关键字:web前端, JavaScript(js),jQuery(jq),总结复习
说明: 本文内容参考W3school并加以整理,更简洁,更具代表性的案例,更贴心(xiong)的注释。
如果有任何问题包括版权及错误方面请联系QQ(171519019),用截图并标记更方便呢

链接:
教程链接:http://www.w3school.com.cn/jquery/index.asp
CDN:https://cdn.bootcss.com/jquery/3.4.1/jquery.js
编辑器: https://codepen.io/

核心:
$(selector).action(speed,callback)

词典:
selector => 选择器(同时用作替代所有“选择器”);
action=> 操作指令(同时用作替代所有“指令”);
speed=> 动画的变化速度(同时用作替代所有“速度”);
callback=> 回调函数(同时用作替代所有“回调函数”);


导航节

本节为标题导航,用于索引及支线指向。

jQuery 选择器

jQuery 语法

jQuery 效果
Query HTML
jQuery 遍历
jQuery AJAX

速览节

本节为精简概要,适合速览及不求甚解的读者。

案例

<!DOCTYPE html>
<html>

<head>
    <!-- 这是CDN:jQ链接 -->
    <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
    <!-- 这是jQ代码 -->
    <script type="text/javascript">
        // 首先等待文档加载完成,执行后文
        $(document).ready(function () {
            // 选择中button按钮,并添加点击事件,以及触发的函数
            $("button").click(function () {
                // 触发的函数内容为:选中p,并为其添加toggle事件(包含两个参数。slow控制速度为慢,后者为触发的函数)
                $("p").toggle("slow", function () {
                    console.log("这是点击按钮后,执行的回调函数:打印这段文字");
                });
            });
        });
    </script>
</head>

<body>
    <button type="button">隐藏/显示</button>
    <p>这是一段测试内容</p>
</body>

</html>

jQuery 选择器

基础语法:$(selector)
示例: $("div#intro .head") 选取 id=“intro” 的div元素中的所有 class=“head” 的元素。
说明:

  • jQuery 元素选择器
    示例: $("p#demo")选取所有 id=“demo” 的元素。
    另外,可以简写为 $("#demo")
  • jQuery 属性选择器
    示例: $("[href!='#']")选取所有带有 href 值不等于 “#” 的元素。
  • jQuery CSS 选择器
    示例$("p").css("background-color","red");

jQuery 语法

基础语法$(selector).action()
示例:$(this).hide() 隐藏当前元素
说明:
美元符号定义 jQuery
选择符(selector)“查询”和“查找” HTML 元素
jQuery 的 action() 执行对元素的操作


铺述节

本节为详解铺述,适合学习及深入探究的读者。

jQuery 名称冲突

var jq=jQuery.noConflict(),帮助您使用自己的名称(比如 jq)来代替 $ 符号。

jQuery 效果

案例:

$("button").click(function () {
        $("p").fadeTo("slow", 0.5, function () {
            console.log("这是点击按钮后,执行的回调函数:打印这段文字")
        })
})

说明:
另外,还可以添加两个参数,用来规定速度和回调函数
$(selector).toggle(speed,callback)
功能:

  • 显示和隐藏
    语法:
    $(selector).hide(),$(selector).show(),$(selector).toggle(),
  • 淡入和淡出
    语法:
    $(selector).fadeIn(),$(selector).fadeOut(),$(selector).fadeToggle(),$(selector).fadeTo()
  • 滑动
    语法:
    $(selector).slideDown(),$(selector).slideUp(),$(selector).fadeToggle(),$(selector).slideToggle()
  • 动画
    语法:
    $(selector).animate()
  • 暂停
    语法:
    $(selector).stop()
  • 回调函数
    语法:
    $(selector).action(speed,callback)
  • 链式操作
    语法:
    $(selector).action().action().action()

暂停.示例:

$(document).ready(function () {
        $("#startBtn").click(function () {
            $("#movePanel").slideDown(5000);
        });
        $("#stopBtn").click(function () {
            $("#movePanel").stop();
        });
    });

动画.示例:

$("button").click(function(){
  $("div").animate({
    left:'250px',
    opacity:'0.5',
    height:'150px',
    width:'150px'
  });
}); 

说明:
可以用 animate() 方法来操作所有 CSS 属性吗?
是的,几乎可以!不过,需要记住一件重要的事情:当使用 animate() 时,必须使用 Camel(驼峰式)标记法书写所有的属性名,比如,必须使用 paddingLeft 而不是 padding-left。
另外,还可以使用相对值来定义:height:'+=150px',以及预定义值:height:'toggle',

动画.高级操作(队列).示例:

$(document).ready(function(){
  $("button").click(function(){
    var div=$("div");
    div.animate({height:'300px',opacity:'0.4'},"slow");
    div.animate({width:'300px',opacity:'0.8'},"slow");
    div.animate({height:'100px',opacity:'0.4'},"slow");
    div.animate({width:'100px',opacity:'0.8'},"slow");
  });
});

jQuery 遍历

分支:

  • 祖先
    语法:
    parent()parents()parentsUntil()
  • 后代
    语法:
    children()find()
  • 同胞
    语法:
    siblings()next()nextAll()nextUntil()prev()prevAll()prevUntil()
  • 过滤
    语法:
    first()last()eq()

案例:

<body>
    <div>this is div
        <ul>this is ul
        	<li>this is li1</li>
            <li>this is li2
                <button id="btn">click me</button>
			</li>
			<li>this is li3</li>
        </ul>
    </div>
</body>

<script>
    $(document).ready(function () {
        // 获取按钮,并添加点击事件
        $("#btn").click(function () {
            // 获取 li,然后选中其父节点即为 ul,添加样式
            $("li").parent().css({
                // 使ul边框变红,证明 li 的父节点为 ul
                "borderColor": "red",
            })
        })
    })
</script>

<style>
    html {
        margin: 10px;
        padding: 10px;
        display: block;
        border: 2px solid lightgrey
    }

    body {
        margin: 10px;
        padding: 10px;
        display: block;
        border: 2px solid lightgrey
    }

    div {
        margin: 10px;
        padding: 10px;
        display: block;
        border: 2px solid lightgrey
    }

    ul {
        padding: 10px;
        display: block;
        border: 2px solid lightgrey
    }

    li {
        padding: 10px;
        display: block;
        border: 2px solid lightgrey
    }

    button {
        margin: 10px;
    }
</style>

jQuery 遍历 祖先

说明:
祖先是父、祖父或曾祖父等等。
通过 jQuery,您能够向上遍历 DOM 树,以查找元素的祖先。
功能:

  • 返回 直接父元素
    语法:
    $(selector).parent()
  • 返回 所有祖先元素
    语法:
    $(selector).parents()
  • 返回 返回介于两个给定元素之间的所有祖先元素
    语法:
    $(selector).parentsUntil()

parents().示例:

<script>
    $(document).ready(function () {
        // 获取按钮,并添加点击事件
        $("#btn").click(function () {
            // 获取 li,然后选中其所有父节点即为 ul,div,body,html根节点并添加样式
            $("li").parents().css({
                // 使ul,div,body,html边框变红,找到li的父节点们,注意其中包括 body 和 html
                "borderColor": "red",
            })
        })
    })
</script>

parentsUntil().示例:

<script>
    $(document).ready(function () {
        // 获取按钮,并添加点击事件
        $("#btn").click(function () {
            // 获取 li,然后选中其 li 与 body 之间的父节点即为 ul,div并添加样式
            $("li").parentsUntil("body").css({
                // 使ul, div边框变红,找到li的父节点们
                "borderColor": "red",
            })
        })
    })
</script>

jQuery 遍历 后代

说明:
后代是子、孙、曾孙等等。
通过 jQuery,您能够向下遍历 DOM 树,以查找元素的后代。
功能:

  • 返回 直接子元素
    语法:
    $(selector).children()
  • 返回 被选元素的所有后代元素,一路向下直到最后一个后代
    语法:
    $(selector).find()

children().示例:

<script>
    $(document).ready(function () {
        // 获取按钮,并添加点击事件
        $("#btn").click(function () {
            // 获取 li,然后选中其直接子节点即为 div,添加样式
            $("body").children().css({
                // div边框变红,找到body的直接子节点
                "borderColor": "red",
            })
        })
    })
</script>

find().示例:

<script>
    $(document).ready(function () {
        // 获按钮,并添加点击事件
        $("#btn").click(function () {
            // 获取指定目标 ul,并添加样式
            $("body").find("ul").css({
                // ul边框变红,找到指定ul节点
                "borderColor": "red",
            })
        })
    })
</script>

jQuery 遍历 过滤

说明:
三个最基本的过滤方法是:first(), last() 和 eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素。
其他过滤方法,比如 filter() 和 not() 允许您选取匹配或不匹配某项指定标准的元素。
功能:

  • 返回 被选元素的首个元素
    语法
    $(selector).first()
  • 返回 被选元素的最后一个元素
    语法:
    $(selector).last()
  • 返回 被选元素中带有指定索引号的元素
    语法:
    $(selector).eq()
  • 返回 匹配的元素,不匹配这个标准的元素会被从集合中删除
    语法:
    $(selector).filter()
  • 返回 不匹配标准的所有元素,not() 方法与 filter() 相反。
    语法:
    $(selector).not()

first().示例:

<script>
    $(document).ready(function () {
        // 获按钮,并添加点击事件
        $("#btn").click(function () {
            // 获取 ul 内部的第一个 li,并添加样式
            $("ul li").first().css({
                "borderColor": "red",
            })
        })
    })
</script>

eq().示例:

<script>
    $(document).ready(function () {
        // 获按钮,并添加点击事件
        $("#btn").click(function () {
            // 获取3个li中下标标为1的li2,并添加样式
            $("ul li").eq(1).css({
                "borderColor": "red",
            })
        })
    })
</script>

jQuery AJAX

准备:
如使用pc端编译器软件执行以下代码段,需先在文件夹中建立文件:“demo.txt”
该文件内容如下:

<p id="p1">this is p1!</p>
<p id="p2">this is p2!</p>

示例:

<body>
    <!-- 建立一个p标签和一个按钮即可 -->
    <p id="p">this is a p</p>
    <button>click me</button>
</body>

<script>
    $(document).ready(function () {
        // 选中"按钮",添加点击事件
        $("button").click(function () {
            // 选中标签"p",替换为txt文件中的内容。url即为 demo.txt 中的 #p
            // 并且触发后面的回调函数
            $("#p").load("/demo.txt #p2", function () {
                alert("can you see me?")
            })
        })
    });
</script>

</html>

说明:
AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。
简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示。
语法:
$(selector).load(URL,data,callback);
词典:

  • URL(必需的) 参数规定您希望加载的 URL。
  • data(可选的) 参数规定与请求一同发送的查询字符串键/值对集合。
  • callback(可选的) 参数是 load() 方法完成后所执行的函数名称。

jQuery get(), post()

说明:
两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。

  • GET - 从指定的资源请求数据
  • POST - 向指定的资源提交要处理的数据

语法:
$.get(URL,callback);, $.post(URL,data,callback);

词典:

  • URL(必需的) 参数规定您希望请求的 URL。
  • data(可选的) 参数规定连同请求发送的数据。
  • callback(可选的) 参数是请求成功后所执行的函数名。

get().示例:

<body>
    <p>点击按钮,可以获取目标url的数据内容,以及获取返回的状态</p>
    <button>click me</button>
</body>

<script>
    $(document).ready(function () {
        // 选中"按钮",添加点击事件
        $("button").click(function () {
            /*
                调用get()方法,
                    内部写入目标url,可以获取到其中的数据
                    可选写入回调函数,可以顺便执行该callback

                    其回调函数callback又有两个参数,且顺序固定,名称可变:
                        data: 为获取到的目标数据
                        status:为该请求数据事件的返回状态(人话:就是说到底有没有获取成功啦)
             */
            $.get(
                "/demo.txt",
                function (data, status) {
                    alert("数据:" + data + "\n 状态: " + status)
                }
            )
        })
    });

post().示例:

(巧了,我也不会。。。麻烦懂的dalao留个代码块)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值