JQuery 是一个快速、小型且功能丰富的 JavaScript 库。它使像HTML文档的遍历和操作,事件处理,动画和Ajax的东西简单得多,一个易于使用的API,适用于众多浏览器。jQuery 结合了多功能性和可扩展性,改变了数百万人编写 JavaScript 的方式。 
Write Less Do more

官网 https://jquery.com/
API 手册 https://jquery.cuishifeng.cn/

DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script src="/js/jquery-3.6.0.js">script>
head>
<body>
<div id="box" style="border: 1px solid;width: 200px;height: 40px">div>
<script>
$( function () {
// alert('cao')
//var obj = document.getElementById("box");
//obj.style.backgroundColor="red";
$("#box").css('background-color','yellow').width(1000);
});
script>
body>
html>
jquery 选择元素的方法就是css选择器,除外还提供了更加灵活的选择方法。
$('#id')
$('.className')
$('tagName')
$("selector[attr='value']")
$("a[href='http://www.baidu.com']")
$("selector > selector ")
$("selector:first")
$("selector:last")
$("selector:eq(index)")
$("input:text")
$("input:checkbox")
$("input:checked")
$("input:disabled")
obj.on('事件类型',回调函数)
obj.on('click',function(e){
此处写点击后需要做的逻辑代码。
})
//以前
obj.addeventLinsterner( 'click', 回调 )
obj.on('click', 回调)
one 一次性事件,事件只会触发一次。
obj.off('事件类型')
obj.off('click')
obj.trigger('事件类型')
$('.box:last').trigger('click');
DOM
<ul>
<li>小刘li>
<li>王鑫li>
<li>小郭li>
ul>
JS
$(function(){
// lis 是一个JQuery DOM对象,就是JQuery提供的对象,或者说经过jquery包装过的对象 ,
// 可以使用JQuery方法。
var lis= $("ul li");
//lis.css('color','red');
// lis[i]元素不是一个JQuey对象,一旦对JQuery对象使用[下标] 或者 get(下标),获得的元素就是一个原生的JS对象,
// 原生JS DOM对象无法调用JQuery的方法, 可以使用原生的DOM属性和方法。
//lis[1].css('color','green');
lis.get(1).style.color='green';
// JS 对象 转 JQuery对象 $( js对象 )
var jsobj = lis.get(1);
$(jsobj).css('color','yellow')
})
类似于与style属性的作用
$("div").css('color','green').css('background-color','red'); //控制单个属性可级联调用
$("div").css({'color':'green','background-color':'red' }); //控制多个属性
.ac{
color:gold;
background-color: #FF0000;
border: 10px solid green;
}
$("div").addClass('ac');
$("div").on('click',function(e){
$("div").removeClass('ac');
});
$("div").on('click',function(e){
$("div").toggleClass('ac');
});
类与 innerText innerHTML value 的作用
a. 取值
$(function(){
//取值(忽略标签和样式)
var xx= $("div").text();
console.log(xx)
})
b. 赋值
$(function(){
//赋值 (标签不被解析,视为文本)
$("div").text( "hello jquery
" )
})
$(function(){
//取值(连同标签和样式)
var xx= $("div").html();
console.log(xx)
//赋值 (标签被解析)
$("div").html( "hello jquery
" )
})
$(function(){
//取值
var xx = $("input[name='username']").val();
console.log(xx)
//赋值
$("input[name='username']").val("tomcat");
})
//赋值
$("a").attr('href','http://www.baidu.com');
//取值
var vv = $("a").attr('href');
alert(vv);
prop() 修改boolean类型属性
DOM
<ul>
<li class="x">李阳li>
<li >席端li>
<li>赵梦非li>
<li id="son" >冉潘li>
<li class="x">刘备li>
<li>关羽li>
<li class="x">张飞li>
ul>
先找到父级节点,通过次方法可以获得该节点全部的后代节点。
$(function(){
//全部的子节点
var arr= $("ul").children();
$( arr[0] ).css('color','red');
})
先找到其中的一个子节点,通过次方法可以获得该子节点的直接父级节点,全部的父级节点通过示例中其他方法也可获得。
$(function(){
$("#son").parent().css('border','1px solid red'); //直接父级
$("#son").parents().css('border','1px solid red'); //全部父级
$("#son").parentsUntil("html").css('border','1px solid red'); //全部父级直到 什么为止。
}
先找到其中的一个子节点,通过次方法可以获得该子节点前一个节点,前面的全部节点通过示例中其他方法也可获得。
$(function(){
$("#son").prev().css('color','red'); //前一个
$("#son").prevAll().css('color','red');//前全部
$("#son").prevUntil('.x').css('color','red');//前全部直到 .x为止
})
先找到其中的一个子节点,通过次方法可以获得该子节点后一个节点,后面的全部节点通过示例中其他方法也可获得。
$("#son").next().css('color','red'); // 后一个
$("#son").nextAll().css('color','red');//后全部
$("#son").nextUntil('.x').css('color','red');//后全部直到 .x为止
先找到其中的一个子节点,通过次方法可以获得该子节点同级的其他节点。
$("#son").siblings().css('border','1px solid red');
obj.find(“td”) 在obj内部选择td元素
指的是在指定容器的内部添加新的节点
obj.append("html代码" ) //内容追加
obj.prepend("html代码" ) //顶部插入
$("html代码").appendTo( '.box' );
$("html代码").prependTo( '.box' );
两组api 作用一致, 第一组是容器调用api 添加新增节点 , 第二组是 新增节点调用api 添加到指定的选择器中。
指的是在指定容器外部同级,前后添加新节点。
obj.after( "html代码" ) //在obj后面添加新节点
obj.before("html代码" ) //在obj前面添加新节点
$( "html代码" ).insertAfter("选择器") //在obj后面添加新节点
$( "html代码" ).insertBefore("选择器") //在obj前面添加新节
这两组api 作用也是一样的,区别在于前者是容器节点调用,后者是新增节点调用。
obj.replaceWith( "新html代码" ) // 把obj替换为新的html
$("新的html代码").replaceAll('选择器')
obj.remove() //移除obj,移除自身。
obj.empty() //清空obj的内容, 移除的是全部儿子,自己会保留。
//克隆的dom
var cloneDom = obj.clone();
//插入到其他位置
cloneDom.insertBefore('选择器')
clone( true ) 深度克隆,可以复制事件
//包裹
$("#btn-warp").click( function (){
// $("#box img").wrap("");
$("#box img").wrapAll( "" );
});
<button onclick="$('.box').show()">显示button>
<button onclick="$('.box').hide()">隐藏button>
<button onclick="$('.box').toggle()">显示隐藏切换button>
<button onclick="$('.box').fadeIn(1000)">淡入button>
<button onclick="$('.box').fadeOut(1000)" >淡出button>
<button onclick="$('.box').fadeToggle()">淡入淡出切换button>
<button onclick="$('.box').slideUp()" >上拉button>
<button onclick="$('.box').slideDown()" >下拉button>
<button onclick="$('.box').slideToggle()">上下拉切换button>
<button onclick="$('.box').animate({'width':'0px'},2000)">自定义button>
综合实例
<body>
<button onclick="$('.box').show()">显示button>
<button onclick="$('.box').hide()">隐藏button>
<button onclick="$('.box').toggle()">显示隐藏切换button>
<button onclick="$('.box').fadeIn(1000)">淡入button>
<button onclick="$('.box').fadeOut(1000)" >淡出button>
<button onclick="$('.box').fadeToggle()">淡入淡出切换button>
<button onclick="$('.box').slideUp()" >上拉button>
<button onclick="$('.box').slideDown()" >下拉button>
<button onclick="$('.box').slideToggle()">上下拉切换button>
<button onclick="$('.box').animate({'width':'0px'},2000)">自定义button>
<div class="box"> 示例动画 div>
body>
6.1 全局扩展
$.extend({
sayHello(){
alert('hello')
}
})
//调用
$.sayHello();
相当于为$ 类级别的方法扩展。
6.2 实例扩展
$.fn.extend({
sayGoodBye(){
alert('world');
}
});
//调用
$("xx").sayGoodBye();
相当于 为 jquery 对象级别的方法扩展。