JavaWeb_jQuery基础篇

Posted 葡萄籽-June

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb_jQuery基础篇相关的知识,希望对你有一定的参考价值。

jQuery基础篇

本文主要是jQuery入门的理解。所总结的内容主要包括:
1.jQuery 的属性操作
2.DOM的增删改操作
3.jQuery 事件操作


【注】jQuery在线手册

文章目录


一、jQuery 的属性操作

属性操作作用
html()设置和获取起始标签和结束标签中的内容。类似于dom 属性innerHTML
text()可以设置和获取起始标签和结束标签中的文本。类似于dom 属性innerText
val()设置和获取表单项的value 属性值。类似于dom 属性value
attr()设置和获取属性的值(不推荐操作checked、readOnly、selected、disabled 等等)
attr 方法还可以操作非标准的属性。比如自定义属性:abc,bbj
prop()可设置和获取属性的值,只推荐操作checked、readOnly、selected、disabled 等等

val 方法同时设置多个表单项的选中状态:

//script代码
	<script type="text/javascript" src="script/jquery-3.5.1.js"></script>
	<script type="text/javascript">
	$(function () 
		
		// 批量操作单选
		$(":radio").val(["radio2"]);
		// 批量操作筛选框的选中状态
		$(":checkbox").val(["checkbox3","checkbox2"]);
		// 批量操作多选的下拉框选中状态
		$("#multiple").val(["mul2","mul3","mul4"]);
		// 操作单选的下拉框选中状态
		$("#single").val(["sin2"]);
		
		$("#multiple,#single,:radio,:checkbox").val(["radio2","checkbox1","checkbox3","mul1","mul4","sin3"]
);
	);
</script>
<body>
	单选:
	<input name="radio" type="radio" value="radio1" />radio1
	<input name="radio" type="radio" value="radio2" />radio2
	<br/>
	多选:
	<input name="checkbox" type="checkbox" value="checkbox1" />checkbox1
	<input name="checkbox" type="checkbox" value="checkbox2" />checkbox2
	<input name="checkbox" type="checkbox" value="checkbox3" />checkbox3
	<br/>
	下拉多选:
	<select id="multiple" multiple="multiple" size="4">
		<option value="mul1">mul1</option>
		<option value="mul2">mul2</option>
		<option value="mul3">mul3</option>
		<option value="mul4">mul4</option>
	</select>
	<br/>
	下拉单选:
	<select id="single">
		<option value="sin1">sin1</option>
		<option value="sin2">sin2</option>
		<option value="sin3">sin3</option>
	</select>
</body>

jQuery练习——全选/全不选/反选


二、DOM 的增删改操作

方法作用
内部插入向每个匹配的元素内部追加内容。
appendTo()a.appendTo(b) =》把a 插入到b 子元素末尾,成为最后一个子元素
prependTo()a.prependTo(b) =》把a 插到b 所有子元素前面,成为第一个子元素
外部插入在每个匹配的元素之前、后插入内容。
insertAfter()a.insertAfter(b) =》在每个匹配的元素之后插入内容:把a 插入到b的后面,结果 b a
insertBefore()a.insertBefore(b) =》=》在每个匹配的元素之前插入内容:把a 插入到b的前面,结果a b
替换将所有匹配的元素替换成指定的或所有的HTML或DOM元素。
replaceWith(content/fn)a.replaceWith(b) 用b 替换掉指定的a
replaceAll(selector)a.replaceAll(b) 用a 替换掉所有的b
删除从DOM中删除所有匹配的元素或子节点。
remove()a.remove(); 删除a 标签
empty()a.empty(); 清空a 标签里的内容

具体方法说明请祥看jQuery在线手册

简单的实践:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<title>Insert title here</title>
	
	<script type="text/javascript" src="script/jquery-1.7.2.js"></script>
	<script type="text/javascript">
		// 页面加载完成
		$(function () 
			// 第一个按钮【选中添加到右边】
			$("button:eq(0)").click(function () 
				$("select:eq(0) option:selected").appendTo($("select:eq(1)"));
			);
			// 第二个按钮【全部添加到右边】
			$("button:eq(1)").click(function () 
				$("select:eq(0) option").appendTo($("select:eq(1)"));
			);
			// 第三个按钮【选中删除到左边】
			$("button:eq(2)").click(function () 
				$("select:eq(1) option:selected").appendTo($("select:eq(0)"));
			);
			// 第四个按钮【全部删除到左边】
			$("button:eq(3)").click(function () 
				$("select:eq(1) option").appendTo($("select:eq(0)"));
			);
		);
	</script>
</head>
<body>
	<div id="left">
		<select multiple="multiple" name="sel01">
			<option value="opt01">选项1</option>
			<option value="opt02">选项2</option>
			<option value="opt03">选项3</option>
			<option value="opt04">选项4</option>
			<option value="opt05">选项5</option>
			<option value="opt06">选项6</option>
			<option value="opt07">选项7</option>
			<option value="opt08">选项8</option>
		</select>
		<button>选中添加到右边</button>
		<button>全部添加到右边</button>
	</div>
	<div id="rigth">
		<select multiple="multiple" name="sel02">
		</select>
		<button>选中删除到左边</button>
		<button>全部删除到左边</button>
	</div>
</body>
</html>

jQuery练习——动态表格


三、jQuery 事件操作

在总结事件操作之前,需要先了解一个知识点:

$( function() );window.onload = function() 的区别是什么?

区别jQuery原生JS
触发时机jQuery 的页面加载完成之后是浏览器的内核解析完页面的标签创建好DOM 对象之后就会马上执行。原生js 的页面加载完成之后,除了要等浏览器内核解析完标签创建好DOM 对象,还要等标签显示时需要的内容加载完成。
触发顺序jQuery 页面加载完成之后先执行原生js 的页面加载完成之后
执行次数jQuery 的页面加载完成之后是全部把注册的function 函数,依次顺序全部执行。原生js 的页面加载完成之后,只会执行最后一次的赋值函数。

3.1 jQuery中其他事件的处理方法

方法作用
click()绑定单击事件,以及触发单击事件
mouseover()鼠标移入事件
mouseout()鼠标移出事件
bind()给元素一次性绑定一个或多个事件。
one()使用上类似于bind 一样。但是one 方法绑定的事件只会响应一次。
unbind()与bind 方法相反的操作,解除事件的绑定
live()用来绑定事件。它可以用来绑定选择器匹配的所有元素的事件;即使这个元素是后面动态创建出来的也有效

3.2 事件的冒泡

事件的冒泡指:

父子元素同时监听同一个事件。当触发子元素的事件的时候,同一个事件也被传递到了父元素的事件里去响应。

如何阻止事件冒泡:

在子元素事件函数体内,return false; 可以阻止事件的冒泡传递。

3.3 获取事件的对象

首先,javaScript 事件对象是什么?

事件对象,是封装有触发的事件信息的一个javascript 对象。

如何获取呢javascript 事件对象?

在给元素绑定事件的时候,在事件的function( event ) 参数列表中添加一个参数,这个参数名,我们习惯取名为event。
这个event 就是javascript 传递参事件处理函数的事件对象。

例如:原生JavaScript 获取事件对象

//1.原生javascript 获取事件对象
window.onload = function () 
	document.getElementById("areaDiv").onclick = function (event) 
		console.log(event);
	

而 jQuery 获取事件对象

//2.jQuery 代码获取事件对象
$(function () 
	$("#areaDiv").click(function (event) 
		console.log(event);
	);
);

使用bind 同时对多个事件绑定同一个函数。如何获取当前操作是哪一个事件:

//鼠标移入移出事件举例
$("#areaDiv").bind("mouseover mouseout",function (event) 
	if (event.type == "mouseover") 
		console.log("鼠标移入");
	 else if (event.type == "mouseout") 
		console.log("鼠标移出");
	
);

jQuery练习_图片的跟随

以上是关于JavaWeb_jQuery基础篇的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb_jQuery基础篇

性能测试总结---基础理论篇

python基础篇 day2

时时彩三星组六走势杀号技巧基础篇

LeetCode 解题笔记数组篇

2021年是做安卓开发人员的绝佳时机,系列篇