jQuery 是一个 JavaScript 函数库。使用 jQuery 之前,我们需要在 HTML 中使用 <script>
标签来引用它。
<head>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
</head>
官网地址:jquery.com
推荐引用:bootcdn.cn
// 文档就绪事件处理器
$(document).ready(function(){
// 为了防止文档在完全加载之前运行代码
// 通常将代码置于此处
});
$(xxx).action();
jQuery 使用 $
符号作为语句的开头,但是在某些其他 JavaScript 库中的函数同样使用了 $
符号。jQuery 使用名为 noConflict()
的方法来解决该问题。
var sq = jQuery.noConflict(); // 使用 sq 代替 $ 符号
sq(this).hide(); // e.g.
如果你的 jQuery 代码块使用 $
简写,并且不愿意改变这个快捷方式,那么可以把 $
符号作为变量传递给 ready()
方法。这样就可以在函数内使用 $
符号了,而在函数外,依旧不得不使用 jQuery
。
$.noConflict();
jQuery(document).ready(function($){
$(".test").action();
});
$("p")
选取所有的 <p>
元素$("p.classname")
选取所有 class = "classname"
的 <p>
元素$("p#idname")
选取所有 id = "idname"
的 <p>
元素$("[href]")
选取所有有 href
属性的元素$("[href='#']")
选取所有有 href
属性且值等于 #
的元素$("[href!='#']")
选取所有有 href
属性且值不等于 #
的元素$("[href$='.jpg']")
选取所有有 href
属性且值以 .jpg
结尾的元素$("p").css("background-color","red");
改变属性的 CSS 样式$(this)
当前元素$("ul li:first")
每个 <ul>
的第一个 <li>
元素$("div#intro .head")
id = "intro"
的 <div>
元素中的所有 class = "head"
的元素$(document).ready(function)
将函数绑定到文档的就绪事件(当文档完成加载时)$(selector).click(function)
触发或将函数绑定到被选元素的点击事件$(selector).dblclick(function)
触发或将函数绑定到被选元素的双击事件$(selector).focus(function)
触发或将函数绑定到被选元素的获得焦点事件$(selector).mouseover(function)
触发或将函数绑定到被选元素的鼠标悬停事件hide(speed, callback)
隐藏show(speed, callback)
显示
toggle(speed, callback)
显示被隐藏的元素 / 隐藏被显示的元素,相当于切换上面的两种方法fadeIn(speed, callback)
淡入fadeOut(speed, callback)
淡出fadeToggle(speed, callback)
切换淡入/淡出fadeTo(speed, opacity, callback)
$("#div").fadeTo("slow", 0.15);
slideDown(speed, callback)
向下滑动slideUp(speed, callback)
向上滑动slideToggle(speed, callback)
切换向下 / 上滑动animate({params}, speed, callback)
$("button").click(function(){
$("div").animate({
left:'250px', // 改变属性的值
height:'+=150px', // 相对的值
width:'toggle' // 预定义的值
});
});
$("button").click(function(){
var div = $("div");
div.animate({left: '100px'}, "slow"); // animate() 默认支持队列功能
div.animate({fontSize: '3em'}, "slow");
});
stop(stopAll, goToEnd)
停止动画
$("#p1").css("color","red").slideUp(2000).slideDown(2000);
text()
设置或返回所选元素的文本内容html()
设置或返回所选元素的内容(包括 HTML 标记)val()
设置或返回表单字段的值attr()
设置或返回元素某个属性的值
attr()
一次设置多个属性$("button").click(function(){
$("#test").attr({
"href" : "https://suqing.fun/",
"title" : "suqing"
});
});
text()
/html()
/val()
/attr()
的回调函数
$("#button").click(function(){
$("#test").text(function(i, origText){
return "origText:" + origText + ", index:" + i;
});
});
append("xxxx")
在被选元素的结尾插入内容prepend("xxx")
在被选元素的开头插入内容after("xxxxx")
在被选元素外部后插入内容before("xxxx")
在被选元素外部前插入内容remove()
删除被选元素以及所有子元素
$("p").remove(".test");
,删除 class = "test"
的所有 <p>
元素empty()
删除被选元素的所有子元素addClass()
添加 class 属性removeClass()
删除 class 属性toggleClass()
切换 class 属性css()
设置或返回样式属性$("p").css("background-color"); // 返回属性的值
$("p").css("background-color", "yellow"); // 设置属性的值
$("p").css({ // 设置多个属性的值
"background-color" :"yellow",
"font-size": "200%"
});
width()
宽度(不包括内边距、边框或外边距)height()
高度(不包括内边距、边框或外边距innerWidth()
宽度(包括内边距)innerHeight()
高度(包括内边距)outerWidth()
宽度(包括内边距和边框)outerHeight()
高度(包括内边距和边框)outerWidth(true)
宽度(包括内边距、边框和外边距)outerHeight(true)
高度(包括内边距、边框和外边距)
$(document).width()
文档宽度$(window).height()
窗口高度parent()
返回被选元素的直接父元素parents()
返回被选元素的所有祖先元素parentsUntil()
返回介于两个给定元素之间的所有祖先元素
$("span").parentsUntil("div");
children()
返回被选元素的所有直接子元素find()
返回被选元素的后代元素
$("div").find("span");
,返回属于 <div>
后代的所有 <span>
元素$("div").find("*");
,返回 <div>
的所有后代siblings()
返回被选元素的所有同胞元素next()
返回被选元素的下一个同胞元素nextAll()
返回被选元素后面的所有同胞元素nextUntil()
返回后面的介于两个给定参数之间的所有同胞元素prev()
返回被选元素的前一个同胞元素prevAll()
返回被选元素前面的所有同胞元素prevUntil()
返回前面的介于两个给定参数之间的所有同胞元素
first()
返回被选元素的首个元素last()
返回被选元素的最后一个元素eq()
返回被选元素中指定索引的元素filter()
返回匹配标准的所有元素not()
返回不匹配标准的所有元素$("div p").first(); // 首个 <div> 元素内部的第一个 <p> 元素
$("div p").last(); // 最后一个 <div> 元素中的最后一个 <p> 元素
$("p").eq(1); // 返回第二个 <p> 元素
$("p").filter(".test"); // 带有 class = "test" 的所有 <p> 元素
$("p").not(".test"); // 没有 class = "test" 的所有 <p> 元素
load(url, data, callback)
从服务器加载数据,并把返回的数据放入被选元素中
$("button").click(function(){
$("#div").load("test.txt", function(responseTxt, statusTxt, xhr){
if(statusTxt == "success") {
alert("Success");
}
if(statusTxt == "error") {
alert("Error: " + xhr.status + ": " + xhr.statusText);
}
});
});
$.get(url, callback)
通过 HTTP GET 请求从服务器上请求数据$.get("test", function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
$.post(url, data, callback)
POST 请求$.post("test",
{name : "Donald Duck", city : "Duckburg"},
function(data, status){
// code
});
@end
.html()
方法默认会转义一些特殊字符(例如:&)。这种情况下,使用 .text()
来获取文本内容就不会自动转义了。