前端框架 - jQuery
jQuery简介
https://jquery.com/
https://www.w3cschool.cn/jquery/

什么是jQuery
jQuery是一个快速、简洁的JavaScript框架,2006年1月由John Resig发布。jQuery设计的宗旨是“write Less,Do More” 。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery库包含以下功能:
- HTML 元素选取
- HTML 元素操作
- CSS 操作
- HTML 事件函数
- JavaScript 特效和动画
- HTML DOM 遍历和修改
- AJAX
- Utilities
jQuery语法
jQuery语法是通过选取HTML元素,并对选取的元素执行某些操作。
基础语法:
- 美元符号定义 jQuery
- 选择符(selector)"查询"和"查找" HTML 元素
- jQuery 的 action() 执行对元素的操作
实例:
DOM操作 |
---|
| $(this).hide() //隐藏当前元素
$("p").hide() //隐藏所有段落
$("p .test").hide() //隐藏所有 class="test" 的段落
$("#test").hide() 、、隐藏所有 id="test" 的元素
|
事件处理 |
---|
| <script lang="javascript">
$(document).ready(function() {
// 开始写 jQuery 代码...
});
</script>
|
选择器
jQuery 选择器允许通过元素名称、ID、类、属性等方式来选取 HTML 元素。以下是一些常见的选择器及示例:
元素选择器
#id 选择器
.class选择器
CSS选择器
选择器.html |
---|
| <button onclick="$('p').show()">显示段落</button>
<button onclick="$('p').hide()">隐藏段落</button>
<button onclick="$('#p1').show()">显示段落1</button>
<button onclick="$('#p1').hide()">隐藏段落1</button>
<button onclick="$('.my_class').show()">显示段落my_class</button>
<button onclick="$('.my_class').hide()">隐藏段落my_class</button>
<button onclick="$('p').css('background-color', 'red')">修改段落背景为红色</button>
<button onclick="$('p').css('background-color', 'blue')">修改段落背景为蓝色</button>
|
源代码
选择器.html |
---|
| <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>选择器示例</title>
<script src="jquery-3.6.1.min.js"></script>
</head>
<body>
<h3>元素选择器</h3>
<p id="p1" class="my_class" style="background-color: green;">这是一个段落。</p>
<button onclick="$('p').show()">显示段落</button>
<button onclick="$('p').hide()">隐藏段落</button>
<h3>#id选择器</h3>
<button onclick="$('#p1').show()">显示段落1</button>
<button onclick="$('#p1').hide()">隐藏段落1</button>
<h3>.class选择器</h3>
<button onclick="$('.my_class').show()">显示段落my_class</button>
<button onclick="$('.my_class').hide()">隐藏段落my_class</button>
<h3>CSS选择器</h3>
<button onclick="$('p').css('background-color', 'red')">修改段落背景为红色</button>
<button onclick="$('p').css('background-color', 'blue')">修改段落背景为蓝色</button>
</body>
</html>
|
事件处理
jQuery 简化了事件处理的过程,以下是一些常见的事件及处理示例:
动画效果
jQuery 提供了一些简单的动画方法,例如 show()、hide()、fadeIn()、fadeOut() 等。
隐藏和显示
$(selector).hide(speed,callback); //隐藏
$(selector).show(speed,callback); //显示
$(selector).toggle(speed,callback); //显示/隐藏切换
淡入淡出
$(selector).fadeIn(speed,callback); //淡入
$(selector).fadeOut(speed,callback); //淡出
$(selector).fadeToggle(speed,callback); //淡入/淡出切换
$(selector).fadeTo(speed,opacity,callback); //渐变为指定透明度
滑动
$(selector).slideDown(speed,callback); //向下滑动
$(selector).slideUp(speed,callback); //向上滑动
$(selector).slideToggle(speed,callback); //向下滑动/向上滑动切换
动画
$(selector).animate({params},speed,callback);//自定义动画
$(selector).stop(stopAll,goToEnd); //停止
方法链接
在相同的元素上运行多条jQuery命令,一条接着另一条
| <p>这是一个段落。</p>
<h1>显示/隐藏</h1>
<button onclick="$('p').show()">显示</button>
<button onclick="$('p').hide()">隐藏</button>
<button onclick="$('p').toggle()">隐藏/显示</button>
<h1>淡入/淡出</h1>
<button onclick="$('p').fadeIn()">淡入</button>
<button onclick="$('p').fadeOut()">淡出</button>
<button onclick="$('p').fadeToggle()">淡入/淡出</button>
<h1>滑动方法</h1>
<button onclick="$('p').slideDown()">向下滑动</button>
<button onclick="$('p').slideUp()">向上滑动</button>
<button onclick="$('p').slideToggle()">向下滑动/向上滑动</button>
<h1>动画</h1>
<button onclick="$('p').animate({height:'300px',opacity:'0.4'}, 'slow')">动画</button>
|
效果.html |
---|
| <button onclick="$('p').show()">显示</button>
<button onclick="$('p').hide()">隐藏</button>
<button onclick="$('p').toggle()">隐藏/显示</button>
<button onclick="$('p').fadeIn()">淡入</button>
<button onclick="$('p').fadeOut()">淡出</button>
<button onclick="$('p').fadeToggle()">淡入/淡出</button>
<button onclick="$('p').slideDown()">向下滑动</button>
<button onclick="$('p').slideUp()">向上滑动</button>
<button onclick="$('p').slideToggle()">向下滑动/向上滑动</button>
<button onclick="$('p').animate({height:'300px',opacity:'0.4'}, 'slow')">动画</button>
|
源代码
效果.html |
---|
| <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>效果示例</title>
<script src="jquery-3.6.1.min.js"></script>
</head>
<body>
<p>这是一个段落。</p>
<h3>显示/隐藏</h3>
<button onclick="$('p').show()">显示</button>
<button onclick="$('p').hide()">隐藏</button>
<button onclick="$('p').toggle()">隐藏/显示</button>
<h3>淡入/淡出</h3>
<button onclick="$('p').fadeIn()">淡入</button>
<button onclick="$('p').fadeOut()">淡出</button>
<button onclick="$('p').fadeToggle()">淡入/淡出</button>
<h3>滑动方法</h3>
<button onclick="$('p').slideDown()">向下滑动</button>
<button onclick="$('p').slideUp()">向上滑动</button>
<button onclick="$('p').slideToggle()">向下滑动/向上滑动</button>
<h3>动画</h3>
<button onclick="$('p').animate({height:'300px',opacity:'0.4'}, 'slow')">动画</button>
</body>
</html>
|
jQuery Html
获取/设置内容和属性
- text()、html() 、 val()、attr()
添加元素
- append() 、prepend() 、after() 、before()
删除元素/内容
操作CSS
- addClass() 、removeClass() 、toggleClass、css()
尺寸方法
- width() 、height() 、 innerWidth() 、 innerHeight() 、outerWidth() 、 outerHeight()
<script>
$(document).ready(function () {
$("span").parent().css({ "color": "red", "border": "2px solid red" });
});
</script>
Html.html |
---|
| <button onclick="alert($('#p1').text())">text</button>
<button onclick="alert($('#p1').html())">html</button>
<button onclick="alert($('#p1').val())">val</button>
<button onclick="alert($('#p1').attr('class'))">attr</button>
<button onclick="$('#p1').text('hello paragraph!')">text</button>
<button onclick="$('#p1').text('<button>hello paragraph!</button>')">html</button>
<button onclick="$('#p1').val('hello val!')">val</button>
<button onclick="$('#p1').attr('class', 'fail_class')">attr</button>
<button onclick="$('#p1').append('Some appended text.')">append</button>
<button onclick="$('#p1').prepend('Some prepended text.')">prepended</button>
<button onclick="$('#p1').after('<p>Some after text.</p>')">after</button>
<button onclick="$('#p1').before('<p>Some before text.</p>')">before</button>
<button onclick="$('#p1').remove()">remove</button>
<button onclick="$('#p1').empty()">remove</button>
<button onclick="$('#p1').addClass('blue')">addClass</button>
<button onclick="$('#p1').removeClass('blue')">removeClass</button>
<button onclick="$('#p1').toggleClass('blue')">toggleClass</button>
|
源代码
Html.html |
---|
| <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Html示例</title>
<script src="jquery-3.6.1.min.js"></script>
<style>
.ok_class {
background-color: green;
}
.fail_class {
background-color: red;
}
.blue {
color: blue;
}
</style>
</head>
<body>
<p id="p1" class="ok_class">这是一个段落。</p>
<h3>获取内容和属性</h3>
<button onclick="alert($('#p1').text())">text</button>
<button onclick="alert($('#p1').html())">html</button>
<button onclick="alert($('#p1').val())">val</button>
<button onclick="alert($('#p1').attr('class'))">attr</button>
<h3>设置内容和属性</h3>
<button onclick="$('#p1').text('hello paragraph!')">text</button>
<button onclick="$('#p1').text('<button>hello paragraph!</button>')">html</button>
<button onclick="$('#p1').val('hello val!')">val</button>
<button onclick="$('#p1').attr('class', 'fail_class')">attr</button>
<h3>添加元素</h3>
<button onclick="$('#p1').append('Some appended text.')">append</button>
<button onclick="$('#p1').prepend('Some prepended text.')">prepended</button>
<button onclick="$('#p1').after('<p>Some after text.</p>')">after</button>
<button onclick="$('#p1').before('<p>Some before text.</p>')">before</button>
<h3>删除元素</h3>
<button onclick="$('#p1').remove()">remove</button>
<button onclick="$('#p1').empty()">remove</button>
<h3>CSS类</h3>
<button onclick="$('#p1').addClass('blue')">addClass</button>
<button onclick="$('#p1').removeClass('blue')">removeClass</button>
<button onclick="$('#p1').toggleClass('blue')">toggleClass</button>
</body>
</html>
|
jQuery遍历
遍历 – 祖先
-
parent()
-
parents()
-
parentsUntil()
遍历 – 后代
遍历 – 过滤
遍历 – 同胞(siblings)
-
siblings()
-
next()
-
nextAll()
-
nextUntil()
-
prev()
-
prevAll()
-
prevUntil()
html linenums
<script>
$(document).ready(function () {
$("span").parent().css({ "color": "red", "border": "2px solid red" });
});
</script>
遍历.html |
---|
| <script>
$(document).ready(function () {
$("span").parent().css({ "color": "red", "border": "2px solid red" });
});
</script>
<div class="ancestors">
<div style="width:500px;">div (曾祖父元素)
<ul>ul (祖父元素)
<li>li (父元素)
<span>span</span>
</li>
</ul>
</div>
<div style="width:500px;">div (祖父元素)
<p>p (父元素)
<span>span</span>
</p>
</div>
</div>
|
源代码
遍历.html |
---|
| <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>遍历示例</title>
<style>
.ancestors * {
display: block;
border: 2px solid lightgrey;
color: lightgrey;
padding: 5px;
margin: 15px;
}
</style>
<script src="jquery-3.6.1.min.js">
</script>
<script>
$(document).ready(function () {
$("span").parent().css({ "color": "red", "border": "2px solid red" });
});
</script>
</head>
<body>
<div class="ancestors">
<div style="width:500px;">div (曾祖父元素)
<ul>ul (祖父元素)
<li>li (父元素)
<span>span</span>
</li>
</ul>
</div>
<div style="width:500px;">div (祖父元素)
<p>p (父元素)
<span>span</span>
</p>
</div>
</div>
</body>
</html>
|
jQuery AJAX
load() 方法
- $(selector).load(URL,data,callback);
$.get() 方法
$.post() 方法
- $.post(URL,data,callback);
Ajax.html |
---|
| <script>
$(document).ready(function () {
$("button").click(function () {
$.get("http://127.0.0.1:8888/minus", { a: 1, b: 2 }, function (res) {
$("#a_b").val(res);
})
});
});
function minus_done(res) {
alert(res);
$("#a_b").val(data);
}
</script>
<span>a: </span>
<input id="a" type="text" />
<span>b: </span>
<input id="b" type="text" />
<button>a-b</button>
<input id="a_b" type="text" />
|
源代码
Ajax.html |
---|
| <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Ajax示例</title>
<meta http-equiv="Access-Control-Allow-Origin" content="*">
<script src="jquery-3.6.1.min.js">
</script>
<script>
$(document).ready(function () {
$("button").click(function () {
$.get("http://127.0.0.1:8888/minus", { a: 1, b: 2 }, function (res) {
$("#a_b").val(res);
})
});
});
function minus_done(res) {
alert(res);
$("#a_b").val(data);
}
</script>
</head>
<body>
<span>a: </span>
<input id="a" type="text" />
<span>b: </span>
<input id="b" type="text" />
<button>a-b</button>
<input id="a_b" type="text" />
</body>
</html>
|