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() 来获取文本内容就不会自动转义了。