持续更新呢,莫(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留个代码块)