jQuery

引入jQuery

什么是jQuery

jQuery并不是一门新的语言,它是JavaScript的一个代码库,是基于JavaScript开发的,对JavaScript进行了深度封装,从而简化了JavaScript开发过程。

下载jQuery

https://jquery.com/

引入jQuery

<script src="./js/jquery-3.5.1.min.js"></script>

第一个jQuery程序

<script>
	$(document).ready(function(){
		alert("Hello jQuery");
	});
</script>

简写形式

<script>
	$(function(){
		alert("Hello jQuery");
	});
</script>

工厂函数$()

该函数的作用是将DOM对象转为jQuery对象,只有转为jQuery对象才能使用jQuery的方法

DOM对象与jQuery对象互相转换

DOM对象转为jQuery对象

<script>
    var jqObj = $(document);
	console.log(jqObj);
</script>

jQuery对象转DOM对象

<script>
    var domObj = $(document).get(0);
	console.log(domObj);
</script>

<script>
    var domObj = $(document)[0];
	console.log(domObj);
</script>

选择器

基本选择器

标签选择器

通过标签名选择元素

<body>
	<input type="button" value="按钮" />
	<script>
		$(function(){
		    var x = $("input");
		    console.log(x);
		}); 
	</script>
</body>

类选择器

通过标签中的class属性值选择元素

<body>
	<input class="btn" type="button" value="按钮" />
	<script>
		$(function(){
		    var x = $(".btn");
		    console.log(x);
		}); 
	</script>
</body>

ID选择器

通过标签中的id属性值选择元素

<body>
	<input id="btn" type="button" value="按钮" />
	<script>
		$(function(){
		    var x = $("#btn");
		    console.log(x);
		}); 
	</script>
</body>

并集选择器

<body>
	<label>姓名</label>
	<input type="text" value="" />
	<script>
		$(function(){
		    var x = $("label,input");
		    console.log(x);
		}); 
	</script>
</body>

交集选择器

<body>
	<label>姓名</label>
	<input id="name" type="text" value="" />
	<br />
	<label>密码</label>
	<input id="pass" type="password" value="" />
	<script>
		$(function(){
		    var x = $("input#name");
		    console.log(x);
		}); 
	</script>
</body>

全局选择器

<script>
	$(function(){
	    var x = $("*");
	    console.log(x);
	}); 
</script>

层次选择器

后代选择器

选择父元素下的所有子元素,包含孙子辈元素

<body>
	<ul>
		<li>ul-li1</li>
		<li>ul-li2</li>
		<li>ul-li3</li>
		<ol>
			<li>ol-li1</li>
			<li>ol-li2</li>
			<li>ol-li3</li>
		</ol>
	</ul>
	<script>
		$(function(){
		    var x = $("ul li");
		    console.log(x);
		}); 
	</script>
</body>

子选择器

选择父元素下的直接子元素,不包含孙子辈元素

<body>
	<ul>
		<li>ul-li1</li>
		<li>ul-li2</li>
		<li>ul-li3</li>
		<ol>
			<li>ul-ol-li1</li>
			<li>ul-ol-li2</li>
			<li>ul-ol-li3</li>
		</ol>
	</ul>
	<script>
		$(function(){
		    var x = $("ul>li");
		    console.log(x);
		}); 
	</script>
</body>

相邻元素选择器

选择紧邻某元素之后的同辈元素

<body>
	<ul>
		<li>ul-li1</li>
		<li>ul-li2</li>
		<li>ul-li3</li>
	</ul>
	<ol>
		<li>ol1-li1</li>
		<li>ol1-li2</li>
		<li>ol1-li3</li>
	</ol>
	<ol>
		<li>ol2-li1</li>
		<li>ol2-li2</li>
		<li>ol2-li3</li>
	</ol>
	<script>
		$(function(){
		    var x = $("ul+ol");
		    console.log(x);
		}); 
	</script>
</body>

同辈元素选择器

选择某元素之后的所有元素

<body>
	<ul>
		<li>ul-li1</li>
		<li>ul-li2</li>
		<li>ul-li3</li>
	</ul>
	<ol>
		<li>ol1-li1</li>
		<li>ol1-li2</li>
		<li>ol1-li3</li>
	</ol>
	<ol>
		<li>ol2-li1</li>
		<li>ol2-li2</li>
		<li>ol2-li3</li>
	</ol>
	<script>
		$(function(){
		    var x = $("ul~ol");
		    console.log(x);
		}); 
	</script>
</body>

属性选择器

选择包含某属性的元素

<body>
	<label>姓名</label>
	<input type="text" value="" />
	<br />
	<label>密码</label>
	<input type="password" value="" />
	<script>
		$(function(){
		    var x = $("[type]");
		    console.log(x);
		}); 
	</script>
</body>

选择属性值为特定值的元素

<body>
	<label>姓名</label>
	<input type="text" value="" />
	<br />
	<label>密码</label>
	<input type="password" value="" />
	<script>
		$(function(){
		    var x = $("[type=text]");
		    console.log(x);
		}); 
	</script>
</body>

选择属性值不为特定值的元素

<body>
	<label>姓名</label>
	<input type="text" value="" />
	<br />
	<label>密码</label>
	<input type="password" value="" />
	<script>
		$(function(){
		    var x = $("[type!=text]");
		    console.log(x);
		}); 
	</script>
</body>

选择属性值以特定值开始的元素

<body>
	<label>姓名</label>
	<input type="text" value="" />
	<br />
	<label>密码</label>
	<input type="password" value="" />
	<script>
		$(function(){
		    var x = $("[type^=pa]");
		    console.log(x);
		}); 
	</script>
</body>

选择属性值以特定值结尾的元素

<body>
	<label>姓名</label>
	<input type="text" value="" />
	<br />
	<label>密码</label>
	<input type="password" value="" />
	<script>
		$(function(){
		    var x = $("[type$=d]");
		    console.log(x);
		}); 
	</script>
</body>

选择属性值包含特定值的元素

<body>
	<label>姓名</label>
	<input type="text" value="" />
	<br />
	<label>密码</label>
	<input type="password" value="" />
	<script>
		$(function(){
		    var x = $("[type*=e]");
		    console.log(x);
		}); 
	</script>
</body>

基础过滤选择器

选取第一个元素

<body>
	<table width="200px" height="200px" border="1">
		<tr align="center">
			<td>1-1</td>
			<td>1-2</td>
			<td>1-3</td>
		</tr>
		<tr align="center">
			<td>2-1</td>
			<td>2-2</td>
			<td>2-3</td>
		</tr>
		<tr>
			<td>3-1</td>
			<td>3-2</td>
			<td>3-3</td>
		</tr>
		<tr align="center">
			<td>4-1</td>
			<td>4-2</td>
			<td>4-3</td>
		</tr>
	</table>
	<script>
		$(function(){
		    var x = $("tr:first");
		    x.css("background-color","red")
		}); 
	</script>
</body>

选取最后一个元素

$(function(){
    var x = $("tr:last");
    x.css("background-color","red")
}); 

选取去除所有给定选择器匹配的元素

$(function(){
    var x = $("tr:not(tr[align])");
    x.css("background-color","red")
}); 

选取索引是偶数的所有元素,索引从0开始

$(function(){
    var x = $("tr:even");
    x.css("background-color","red")
}); 

选取索引是奇数的所有元素,索引从0开始

$(function(){
    var x = $("tr:odd");
    x.css("background-color","red")
}); 

选取索引等于index的所有元素,索引从0开始

$(function(){
    var x = $("tr:eq(2)");
    x.css("background-color","red")
}); 

选取索引大于index的所有元素,索引从0开始

$(function(){
    var x = $("tr:gt(2)");
    x.css("background-color","red")
}); 

选取索引小于index的所有元素,索引从0开始

$(function(){
    var x = $("tr:lt(2)");
    x.css("background-color","red")
}); 

选取所有标题元素,如h1~h6

<body>
	<h3>用户登录</h3>
	<label>姓名</label>
	<input type="text" value="" />
	<br />
	<label>密码</label>
	<input type="password" value="" />
	<br />
	<input type="submit" value="登陆" />
	<script>
		$(function(){
		    var x = $(":header");
		    x.css("background-color","red");
		}); 
	</script>
</body>

子集过滤选择器

选取父级元素中第一个元素

<body>
	<table width="200px" height="200px" border="1">
		<tr align="center">
			<td>1-1</td>
			<td>1-2</td>
			<td>1-3</td>
		</tr>
		<tr align="center">
			<td>2-1</td>
			<td>2-2</td>
			<td>2-3</td>
		</tr>
		<tr>
			<td>3-1</td>
			<td>3-2</td>
			<td>3-3</td>
		</tr>
		<tr align="center">
			<td>4-1</td>
			<td>4-2</td>
			<td>4-3</td>
		</tr>
	</table>
    <script src="./js/jquery-3.5.1.min.js"></script>
	<script>
		$(function(){
		    var x = $("td:first-child");
		    x.css("background-color","red")
		}); 
	</script>
</body>

获取父级元素中最后一个元素

$(function(){
    var x = $("td:last-child");
    x.css("background-color","red")
}); 

获取父级元素中第二个元素

$(function(){
    var x = $("td:nth-child(2");
    x.css("background-color","red")
}); 

可见选择器

选取所有隐藏的元素

<body>
	<input id="login" type="button" value="点击登陆" />
	<div style="display: none;">
		<label>姓名</label>
		<input type="text" value="" />
		<br />
		<label>密码</label>
		<input type="password" value="" />
		<br />
		<input type="button" value="登陆" />
	</div>
	<script>
		$(function(){
			$("#login").click(function(){
				$("div:hidden").show();
			});
		}); 
	</script>
</body>

选取所有显示的元素

<body>
	<input id="login" type="button" value="点击隐藏登陆" />
	<div>
		<label>姓名</label>
		<input type="text" value="" />
		<br />
		<label>密码</label>
		<input type="password" value="" />
		<br />
		<input type="button" value="登陆" />
	</div>
	<script>
		$(function(){
			$("#login").click(function(){
				$("div:visible").hide();
			});
		}); 
	</script>
</body>

表单选择器

:input

匹配所有input、textarea、select和button 元素

<script>
    console.log($(":input"));
</script>

:text

匹配所有单行文本框

<script>
    console.log($(":text"));
</script>

:password

匹配所有密码框

<script>
    console.log($(":password"));
</script>

:radio

匹配所有单项按钮

<script>
    console.log($(":radio"));
</script>

:checkbox

匹配所有复选框

<script>
    console.log($(":checkbox"));
</script>

:submit

匹配所有提交按钮

<script>
    console.log($(":submit"));
</script>

:image

匹配所有图像域

<script>
    console.log($(":image"));
</script>

:reset

匹配所有重置按钮

<script>
    console.log($(":reset"));
</script>

:button

匹配所有按钮

<script>
    console.log($(":button"));
</script>

:file

匹配所有文件域

<script>
    console.log($(":file"));
</script>

:enabled

匹配所有可用元素

<script>
    console.log($(":enabled"));
</script>

:disabled

匹配所有不可用元素

<script>
    console.log($(":disabled"));
</script>

:checked

匹配所有被选中元素(复选框、单项按钮、select 中的option)

<script>
    console.log($(":checked"));
</script>

:checked

匹配所有选中的option元素

<script>
    console.log($(":checked"));
</script>

动画函数

show(),hide()

显示元素,隐藏元素
show语法 show([speed],[callback])

hide语法 hide([speed],[callback])

速度以毫秒为单位
当完成显示或隐藏后调用回掉方法

<body>
	<input type="button" value="显示" id="show" />
	<input type="button" value="隐藏" id="hide" />
	<div style="width: 100px;height: 100px;padding: 50px;background-color: red;"></div>
	<script>
		$(function() {
			$("#show").click(function(){
				$("div").show(1000,function(){
					alert("元素显示完毕");
				});
			});
			$("#hide").click(function(){
				$("div").hide(1000,function(){
					alert("元素隐藏完毕");
				});
			});
		});
	</script>
</body>

toggle()

相当于show()和hide()事件方法的组合

<body>
	<input type="button" value="显示DIV/隐藏DIV" />
	<div style="padding: 100px;background-color: red;"></div>
	<script>

		$(function() {
			$("input").click(function(){
				$("div").toggle();
			});
		});
	</script>
</body>

fadeIn(),fadeOut()

元素淡入,元素淡出
fadeIn语法 fadeIn([speed],[callback])

fadeOut语法 fadeOut([speed],[callback])

速度以毫秒为单位
当完成显示或隐藏后调用回掉方法

<body>
	<input type="button" value="显示" id="show" />
	<input type="button" value="隐藏" id="hide" />
	<div style="width: 100px;height: 100px;padding: 50px;background-color: red;"></div>
	<script>
		$(function() {
			$("#show").click(function(){
				$("div").fadeIn(1000,function(){
					alert("元素显示完毕");
				});
			});
			$("#hide").click(function(){
				$("div").fadeOut(1000,function(){
					alert("元素隐藏完毕");
				});
			});
		});
	</script>
</body>

slideUp(),slideDown()

向上滑动隐藏,向下滑动显示
slideUp语法 slideUp(speed,callback)
slideDown语法 slideDown(speed,callback)

速度以毫秒为单位

当完成显示或隐藏后调用回掉方法

<body>
	<input type="button" value="显示" id="show" />
	<input type="button" value="隐藏" id="hide" />
	<div style="width: 100px;height: 100px;padding: 50px;background-color: red;"></div>
	<script>
		$(function() {
			$("#show").click(function(){
				$("div").slideDown(1000,function(){
					alert("元素显示完毕");
				});
			});
			$("#hide").click(function(){
				$("div").slideUp(1000,function(){
					alert("元素隐藏完毕");
				});
			});
		});
	</script>
</body>

animate()

自定义动画

语法 animate({params},speed,callback)

参数为样式列表,形式如:“属性”:“值”,多个样式用逗号隔开
速度以毫秒为单位
当完成显示或隐藏后调用回掉方法

<body>
	<input type="button" value="调整尺寸" id="show" />
	<div style="width: 50px;height: 50px;padding: 50px;background-color: red;"></div>
	<script>
		$(function() {
			$("#show").click(function(){
				$("div").animate({"width":"200px","height":"200px"},1000,function(){
					alert("尺寸调整完毕");
				});
			});
		});
	</script>
</body>

常用事件函数

鼠标事件函数

click()

单击鼠标时执行

<body>
	<div id="out" style="width: 100px;height: 100px;background-color: red;">
	</div>
	<script>
		$(function(){
			$("#out").click(function(){
				alert("您点击了div");
			});
		}); 
	</script>
</body>

mouseover(),mouseout()

鼠标指针移过时执行,鼠标指针移出时执行

进入子元素也会触发这两个事件

<body>
	<div id="out" style="width: 100px;height: 100px;background-color: red;padding: 100px;">
		<div id="in" style="width: 100px;height: 100px;background-color: yellow;"></div>
	</div>
	<script>
		$(function(){
			$("#out").mouseover(function(){
				console.log("进入");
			}).mouseout(function(){
				console.log("移出");
			});
		}); 
	</script>
</body>

mouseenter(),mouseleave()

鼠标指针进入时执行,鼠标指针离开时执行

<body>
	<div id="out" style="width: 100px;height: 100px;background-color: red;padding: 100px;">
		<div id="in" style="width: 100px;height: 100px;background-color: yellow;"></div>
	</div>
	<script>
		$(function(){
			$("#out").mouseenter(function(){
				console.log("进入");
			}).mouseleave(function(){
				console.log("移出");
			});
		}); 
	</script>
</body>

hover()

相当于mouseover与mouseout事件的组合

<body>
	<div style="padding: 100px;background-color: red;"></div>
	<script>

		$(function() {
			$("div").hover(function(){
				$(this).css("background-color","blue");
			},function(){
				$(this).css("background-color","red");
			});
		});
	</script>
</body>

键盘事件函数

keydown(),keyup(),keypress()

按下按键时执行,释放按键时执行,产生可打印的字符时执行

<body>
	<input type="text" value="" />
	<script>
		$(function(){
			$("input").keydown(function(even){
				console.log(even.keyCode)
				console.log("键盘被按下了:"+String.fromCharCode(even.keyCode))
			}).keyup(function(even){
				console.log(even.keyCode)
				console.log("键盘被释放了:"+String.fromCharCode(even.keyCode))
			}).keypress(function(even){
				console.log(even.keyCode)
				console.log("输入了可打印的字符:"+String.fromCharCode(even.keyCode))
			});
		}); 
	</script>
</body>

浏览器事件函数

resize()

调整浏览器窗口大小时执行

<script>
	$(function(){
		$(window).resize(function(){
			console.log("窗口宽:"+ $(window).width())
			console.log("窗口高:"+ $(window).height())
		});
	}); 
</script>

焦点事件

blur(),focus()

失去焦点触发 blur(function(){})

获取焦点触发 focus(function(){})

<body>
	<form>
		<input type="text" value=""/>
	</form>
	<script>
		$(function() {
			$("input").focus(function(){
				console.log("文本框获取了焦点");
			}).blur(function(){
				console.log("文本框失去了焦点");
			});
			
			
		});
	</script>
</body>

设置元素失去焦点 blur()

设置元素获取焦点 focus()

<body>
	<form>
		<input type="text" value="" id="text"/>
		<br />
		<input type="button" id="focus" value="获取焦点" />
		<input type="button" id="blur" value="失去焦点" />
	</form>
	<script>
		$(function() {
			$("#focus").click(function(){
				$("#text").focus();
			})
			$("#blur").click(function(){
				$("#text").blur();
			})
		});
	</script>
</body>

select()

给元素设置焦点,并选中里面的内容

<body>
	<form>
		<input type="text" value="" id="text"/>
		<br />
		<input type="button" id="focus" value="获取焦点" />
	</form>
	<script>
		$(function() {
			$("#focus").click(function(){
				$("#text").select();
			})
		});
	</script>
</body>

事件的绑定与移除

绑定事件:bind()

语法 bind(type,[data],fn)

参数含义说明
type事件类型包括click、mouseover等
[data]可选参数给event.data赋值,可以省略
fn处理函数

绑定单个事件

<body>
	<div style="padding: 100px;background-color: red;"></div>
	<script>
		$(function() {
			$("div").bind("mouseover",function(){
				$(this).css("background-color","blue");
			});
		});
	</script>
</body>

绑定多个事件

<body>
	<div style="padding: 100px;background-color: red;"></div>
	<script>
		$(function() {
			$("div").bind({
				"mouseover":function(){
					$(this).css("background-color","blue");
				},
				"mouseout":function(){
					$(this).css("background-color","red");
				}
			});
		});
	</script>
</body>

event.data

<body>
	<div style="padding: 100px;background-color: red;"></div>
	<script>
		$(function() {
			$("div").bind("mouseover","blue",function(event){
				$(this).css("background-color",event.data);
			});
		});
	</script>
</body>

解除绑定事件:unbind()

解除绑定的所有事件

<body>
	<div style="padding: 100px;background-color: red;"></div>
	<input type="button" value="解除事件"/>
	<script>
		$(function() {
			$("div").bind({
				"mouseover":function(){
					$(this).css("background-color","blue");
				},
				"mouseout":function(){
					$(this).css("background-color","red");
				}
			});
			
			$("input").click(function(){
				$("div").unbind();
			});
		});
	</script>
</body>

解除绑定的指定事件

<body>
	<div style="padding: 100px;background-color: red;"></div>
	<input type="button" value="解除事件"/>
	<script>
		$(function() {
			$("div").bind({
				"mouseover":function(){
					$(this).css("background-color","blue");
				},
				"mouseout":function(){
					$(this).css("background-color","red");
				}
			});
			
			$("input").click(function(){
				$("div").unbind("mouseout");
			});
		});
	</script>
</body>

解除绑定的指定事件的函数

<body>
	<div style="padding: 100px;background-color: red;"></div>
	<input type="button" value="解除事件"/>
	<script>

		$(function() {
			$("div").bind("mouseover",bg1 = function(){
					$(this).css("background-color","blue");
			}).bind("mouseover",bg2=function(){
					$(this).css("width","50%");
			});
			
			$("input").click(function(){
				$("div").unbind("mouseover",bg2);
			});
		});
	</script>
</body>

操作DOM元素的样式

css()

给元素添样式<
语法 css(name,value)
语法 css({name:value, name:value,name:value…})

<body>
	<input type="button" value="给DIV添加背景" id="show" />
	<div style="width: 100px;height: 100px;padding: 50px;border: 1px solid black;"></div>
	<script>
		$(function() {
			$("#show").click(function(){
				$("div").css("background-color","red");
			});
		});
	</script>
</body>

addClass(),removeClass()

给元素添加类,移除元素中的类
语法 addClass(class)
语法 addClass(class1 class2 … classN)

<head>
	<style>
		.bg-red{background-color: red;}
	</style>
</head>
<body>
	<input type="button" value="添加类" id="add" />
	<input type="button" value="移除类" id="remove" />
	<div style="width: 100px;height: 100px;padding: 50px;border: 1px solid black;"></div>
	<script>
		$(function() {
			$("#add").click(function(){
				$("div").addClass("bg-red");
			});
			$("#remove").click(function(){
				$("div").removeClass("bg-red");
			});
		});
	</script>
</body>

toggleClass()

相当于addClass()和removeClass()方法的组合

语法 toggleClass(class)
语法 toggleClass(class1 class2 … classN)

<head>
	<style>
		.bg-red{background-color: red;}
		div{padding: 100px;border: 2px solid #000;}
	</style>
</head>
<body>
	<input type="button" value="添加或移除DIV的class" />
	<div></div>
	<script>
		$(function() {
			$("input").click(function(){
				$("div").toggleClass("bg-red");
			});
		});
	</script>
</body>

hasClass()

是否包含某样式,如果包含返回true,否则返回false

<body>
	<input type="button" value="添加类" id="add" />
	<input type="button" value="移除类" id="remove" />
	<div style="width: 100px;height: 100px;padding: 50px;border: 1px solid black;"></div>
	<script>
		$(function() {
			$("#add").click(function(){
				$("div").addClass("bg-red");
			});
			$("#remove").click(function(){
				if($("div").hasClass("bg-red")){
					$("div").removeClass("bg-red");
				}else{
					alert("DIV元素没有bg-red类");
				}
			});
		});
	</script>
</body>

height(),width()

设置元素的高度 height("值")
获取元素的高度 height()
设置元素的宽度 width("值")
获取元素的宽度 width()

<body>
	<div id="out" style="width: 100px;height: 100px;background-color: red;"></div>
	<script>
		$(function() {
			$("#out").click(function(){
				$(this).height("200px").width("200px");
			}).mouseover(function(){
				$(this).text(" 宽:"+$(this).width()+" 高:"+$(this).height());
			});
		});
	</script>
</body>

offset()

返回当前元素的坐标 offset()
设置当前元素的坐标 offset({left:值,top:值})

相对于整个页面的坐标
值为像素值

<body>
	<div id="out" style="width: 200px;height: 200px;background-color: red;"></div>
	<script>
		$(function() {
			$("#out").click(function(){
				$(this).offset({left:20,top:10});
			}).mouseover(function(){
				$(this).text("坐标(x,y):"+$(this).offset().left+","+$(this).offset().top);
			});
			
		});
	</script>
</body>

offsetParent()

返回最近的一个已定位的父级元素

定位元素指的是元素的CSS的position值被设置为relative、absolute或fixed的元素

<body>
	<div style="position: absolute;left: 200px;top: 200px;">
		<ul>
			<li id="i1">item1</li>
			<li id="i2">item2</li>
			<li id="i3">item3</li>
		</ul>
	</div>
	<script>
		$(function() {
			$("#i2").offsetParent().css("border","1px solid red");
		});
	</script>
</body>

position()

相对于父级的坐标

<body>
	<div style="position: absolute;left: 200px;top: 200px; border: 1px solid red;padding: 10px;">
		<ul style="border:1px solid blue">
			<li id="i1">item1</li>
			<li id="i2">item2</li>
			<li id="i3">item3</li>
		</ul>
		<p></p>
	</div>
	<script>
		$(function() {
			$("p").text("item2相对于父级元素的坐标(x,y):"+$("#i2").position().left+","+$("#i2").position().top);
		});
	</script>
</body>

scrollLeft(),scrollTop()

获取元素相对滚动条左侧的偏移 scrollLeft()

设置元素相对滚动条左侧的偏移 scrollLeft("值")

获取元素相对滚动条上侧的偏移 scrollTop()

设置元素相对滚动条上侧的偏移 scrollTop("值")

<body>
	<div id="out" style="width: 200px;height: 200px; overflow: scroll;">
		<div style="background-color: red;width: 500px;height: 500px;"></div>
	</div>
	<p>偏移量(x,y):0,0</p>
	<script>
		$(function() {
			$("#out").scroll(function(){
				$("p").text("偏移量(x,y):"+$(this).scrollLeft()+","+$(this).scrollTop());
			});
		});
	</script>
</body>

操作DOM元素

html()

获取元素中的HTML代码 html()

<body>
	<input type="button" value="Hello" />
	<div><h1>Hello,JQuery!!</h1></div>
	<script>
		$(function() {
			$("input").click(function(){
				alert($("div").html());
			});
		});
	</script>
</body>

设置元素中的HTML代码 html("HTML代码")

<body>
	<input type="button" value="Hello" />
	<div></div>
	<script>
		$(function() {
			$("input").click(function(){
				$("div").html("<h1>Hello,JQuery!!</h1>");
			});
		});
	</script>
</body>

text()

获取元素中的文本 text()

<body>
	<input type="button" value="Hello" />
	<div><h1>Hello,JQuery!!</h1></div>
	<script>
		$(function() {
			$("input").click(function(){
				alert($("div").text());
			});
		});
	</script>
</body>

设置元素中的文本 text("文本内容")

<body>
	<input type="button" value="Hello" />
	<div></div>
	<script>
		$(function() {
			$("input").click(function(){
				$("div").text("<h1>Hello,JQuery!!</h1>");
			});
		});
	</script>
</body>

val()

获取元素的value值 val()

<body>
	<input type="button" value="Hello" />
	<script>
		$(function() {
			$("input").click(function(){
				alert($(this).val());
			});
		});
	</script>
</body>

设置元素的value值 val("值")

<body>
	<input type="button" value="Hello" />
	<script>
		$(function() {
			$("input").click(function(){
				$(this).val("你好");
			});
		});
	</script>
</body>

创建节点

<body>
	<script>
		$(function() {
			var ul = $("<ul></ul>");
			var li = $("<li>item1</li>");
			ul.append(li);
			$("body").append(ul);
		});
	</script>
</body>

append(),appendTo()

将B元素追加到A元素中 A.append(B)

将A元素追加到B元素中 A.appendTo(B)

<body>
	<ul>
		<li>item1</li>
	</ul>
	<script>
		$(function() {
			var li = $("<li>item2</li>");
			$("ul").append(li);
		});
	</script>
</body>

prepend(),prependTo()

将B元素前置插入到A元素中 A.prepend(B)

将A元素前置插入到B元素中 A.prependTo(B)

<body>
	<ul>
		<li>item1</li>
	</ul>
	<script>
		$(function() {
			var li = $("<li>item2</li>");
			$("ul").prepend(li);
		});
	</script>
</body>

after()

将B元素插入到A元素后面 A.after(B)

<body>
	<ul>
		<li>item1</li>
	</ul>
	<script>
		$(function() {
			var li = $("<li>item2</li>");
			$("ul li:first").after(li);
		});
	</script>
</body>

before()

将B元素插入到A元素前面 A.after(B)

<body>
	<ul>
		<li>item1</li>
	</ul>
	<script>
		$(function() {
			var li = $("<li>item2</li>");
			$("ul li:first").before(li);
		});
	</script>
</body>

remove()

删除整个元素

<body>
	<ul>
		<li id="i1">item1</li>
		<li id="i2">item2</li>
		<li id="i3">item3</li>
	</ul>
	<script>
		$(function() {
			$("#i2").remove();
		});
	</script>
</body>

empty()

清空节点内容

<body>
	<ul>
		<li id="i1">item1</li>
		<li id="i2">item2</li>
		<li id="i3">item3</li>
	</ul>
	<script>
		$(function() {
			$("#i2").empty();
		});
	</script>
</body>

detach()

删除整个节点,保留元素的绑定事件、附加的数据

<body>
	<ul>
		<li id="i1">item1</li>
		<li id="i2">item2</li>
		<li id="i3">item3</li>
	</ul>
	<script>
		$(function() {
			$("#i2").bind("click",function(){
				$(this).css("background-color","red");
			});
			var i2 = $("#i2").detach();
			$("ul").append(i2);
		});
	</script>
</body>

replaceWith()

用B元素替换掉A元素 A.replaceWith(B)

<body>
	<ul>
		<li id="i1">item1</li>
		<li id="i2">item2</li>
		<li id="i3">item3</li>
	</ul>
	<script>
		$(function() {
			var i4 = $('<li id="i4">item4</li>');
			$("#i2").replaceWith(i4);
		});
	</script>
</body>

replaceAll()

用A元素替换掉B元素 A.replaceAll(B)

<body>
	<ul>
		<li id="i1">item1</li>
		<li id="i2">item2</li>
		<li id="i3">item3</li>
	</ul>
	<script>
		$(function() {
			var i4 = $('<li id="i4">item4</li>');
			i4.replaceAll($("#i2"));
		});
	</script>
</body>

clone()

复制节点及内容 clone([false])

<body>
	<ul>
		<li id="i1">item1</li>
		<li id="i2">item2</li>
		<li id="i3">item3</li>
	</ul>
	<script>
		$(function() {
			$("#i2").bind("click",function(){
				$(this).css("background-color","red");
			});
			var i4 = $("#i2").clone();
			$("ul").append(i4);
		});
	</script>
</body>

复制节点、内容及事件 clone(true)

<body>
	<ul>
		<li id="i1">item1</li>
		<li id="i2">item2</li>
		<li id="i3">item3</li>
	</ul>
	<script>
		$(function() {
			$("#i2").bind("click",function(){
				$(this).css("background-color","red");
			});
			var i4 = $("#i2").clone(true);
			$("ul").append(i4);
		});
	</script>
</body>

操作DOM元素属性

attr()

获取元素指定属性的值 attr("属性名")

<body>
	<input type="button" name="btn" value="按钮" />
	<script>
		$(function() {
			alert($("input").attr("name"));
		});
	</script>
</body>

设置元素指定属性的值 attr("属性名","值")

如果元素本身没有该属性,则直接添加

<body>
	<input type="button" name="btn" value="按钮" />
	<script>
		$(function() {
			alert($("input").attr("name"));
			$("input").attr("name","button");
			alert($("input").attr("name"));
		});
	</script>
</body>

一次性设置多个属性 attr({"属性名":"值",...,"属性名":"值"})

<body>
	<input type="button" value="按钮" />
	<script>
		$(function() {
			$("input").attr({"name":"btn","id":"btn"});
		});
	</script>
</body>

removeAttr()

移除属性 removeAttr("属性名")

<body>
	<input type="button" name="btn" value="按钮" />
	<script>
		$(function() {
			$("input").removeAttr("name");
		});
	</script>
</body>

遍历DOM元素

选择子元素

children()

获取所有子元素 children()

<body>
	<dl>
		<dt>title</dt>
		<dd>item1</dd>
		<dd>item2</dd>
		<dd>item3</dd>
	</dl>
	<script>
		$(function() {
			console.log($("dl").children());
		});
	</script>
</body>

获取指定子元素 children("筛选")

<body>
	<dl>
		<dt>title</dt>
		<dd>item1</dd>
		<dd>item2</dd>
		<dd>item3</dd>
	</dl>
	<script>
		$(function() {
			console.log($("dl").children("dd"))
		});
	</script>
</body>

选择兄弟级元素

next()

获取下一个紧邻的兄弟元素 next()

获取下一个紧邻的指定兄弟元素 next("筛选")

<body>
	<dl>
		<dt>title</dt>
		<dd id="d1">item1</dd>
		<dd id="d2">item2</dd>
		<dd id="d3">item3</dd>
	</dl>
	<script>
		$(function() {
			$("#d1").next().css("background-color","red");
		});
	</script>
</body>

prev()

获取上一个紧邻的兄弟元素 prev()

获取上一个紧邻的指定兄弟元素 prev("筛选")

<body>
	<dl>
		<dt>title</dt>
		<dd id="d1">item1</dd>
		<dd id="d2">item2</dd>
		<dd id="d3">item3</dd>
	</dl>
	<script>
		$(function() {
			$("#d2").prev().css("background-color","red");
		});
	</script>
</body>

siblings()

获取同辈元素 siblings()

<body>
	<dl>
		<dt>title</dt>
		<dd id="d1">item1</dd>
		<dd id="d2">item2</dd>
		<dd id="d3">item3</dd>
	</dl>
	<script>
		$(function() {
			$("#d2").siblings().css("background-color","red");
		});
	</script>
</body>

获取指定同辈元素 siblings("筛选")

<body>
	<dl>
		<dt>title</dt>
		<dd id="d1">item1</dd>
		<dd id="d2">item2</dd>
		<dd id="d3">item3</dd>
	</dl>
	<script>
		$(function() {
			$("#d2").siblings("dt").css("background-color","red");
		});
	</script>
</body>

选择父元素

parent()

获取元素的直接父级元素

<body>
	<dl>
		<dt>title</dt>
		<dd id="d1">item1</dd>
		<dd id="d2">item2</dd>
		<dd id="d3">item3</dd>
	</dl>
	<script>
		$(function() {
			console.log($("#d2").parent());
		});
	</script>
</body>

parents()

获取元素的所有父级元素

<body>
	<dl>
		<dt>title</dt>
		<dd id="d1">item1</dd>
		<dd id="d2">item2</dd>
		<dd id="d3">item3</dd>
	</dl>
	<script>
		$(function() {
			console.log($("#d2").parents());
		});
	</script>
</body>

遍历元素

each()

循环遍历选中的元素

<body>
	<dl>
		<dt>title</dt>
		<dd id="d1" data-color="red">item1</dd>
		<dd id="d2" data-color="blue">item2</dd>
		<dd id="d3" data-color="green">item3</dd>
	</dl>
	<script>
		$(function() {
			$("dd").each(function(){
				$(this).css("background-color",$(this).attr("data-color"));
			});
		});
	</script>
</body>

JQuery的链式写法

连续操作

<body>
	<dl>
		<dt>title</dt>
		<dd id="d1" data-color="red">item1</dd>
		<dd id="d2" data-color="blue">item2</dd>
		<dd id="d3" data-color="green">item3</dd>
	</dl>
	<script>
		$(function() {
			$("dd").mouseover(function(){
				$(this).css("background-color","red");
			}).mouseout(function(){
				$(this).css("background-color","white");
			});
		});
	</script>
</body>

end()

中断操作,重新开始

<body>
	<dl>
		<dt>title</dt>
		<dd id="d1" data-color="red">item1</dd>
		<dd id="d2" data-color="blue">item2</dd>
		<dd id="d3" data-color="green">item3</dd>
	</dl>
	<script>
		$(function() {
			$("#d2").prev().css("background-color","red").end().next().css("background-color","blue");
		});
	</script>
</body>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值