首页 > 其他分享 >JQuery教程

JQuery教程

时间:2023-03-19 15:46:54浏览次数:41  
标签:JQuery jQuery 教程 function 元素 选择器 属性

JQuery教程


一、简介

概述

jQuery 是一套兼容多浏览器的 javascript 脚本库.。核心理念是写得更少,做得更多,使用 jQuery 将
极大的提高编写 javascript 代码的效率,帮助开发者节省了大量的工作,让写出来的代码更加优雅,更
加健壮,"如虎添翼"。同时网络上丰富的 jQuery 插件,也让我们的工作变成了"有了 jQuery,一切 so
easy。" -- 因为我们已经站在巨人的肩膀上了。jQuery 在 2006 年 1 月由美国人 John Resig 在纽约的 barcamp 发布,吸引了来自世界各地的众多JavaScript 高手加入,由 Dave Methvin 率领团队进行开发。如今,jQuery已经成为最流行的 javascript框架,在世界前 10000 个访问最多的网站中,有超过 55%在使用 jQuery。

优点

  • 提供了强大的功能函数
  • 解决浏览器兼容性问题
  • 实现丰富的 UI 和插件
  • 纠正错误的脚本知识
    ......

二、安装与使用

官网地址

jquery.com

版本区别

  • 完整版(学习版本) : jquery-2.1.4.js
  • 压缩版(开发版本) : jquery-2.1.4.min.js

页面引入

<script src="js/jquery-3.4.1.js" type="text/javascript" ></script>

三、JQuery核心

$ 符号在 jQuery 中代表对 jQuery 对象的引用, "jQuery"是核心对象。通过该对象可以获取jQuery
对象,调用jQuery提供的方法等。只有jQuery对象才能调用jQuery提供的方法。$<==>JQuery

四、Dom对象与JQuery包装集对象

Dom对象:通过js代码获取的对象
JQuery包装集对象:通过JQuery获取的对象

	var div = document.getElementById("testDiv");  //Dom对象  
	var jQueryObject = $("#testDiv");              //JQuery包装集对象

Dom对象与JQuery包装集对象的转换

Dom 对象转为 jQuery 对象,只需要利用 $() 方法进行包装即可

	var domDiv = document.getElementById('mydiv');// 获取Dom对象  
	mydiv = $(domDiv);  //转换为JQuery包装集对象

jQuery 对象转 Dom 对象,只需要取数组中的元素即可

	jqueryDiv = $('#mydiv');   //获取JQuery对象
	var dom = jqueryDiv[0];   // 将以获取的jquery对象转为Dom对象

五、JQuery选择器

基础选择器

  • id选择器(#id)

  • 元素名称选择器(element)

  • 类选择器(.class)

  • 选择所有元素(*)

  • 组合选择元素(selector1,selector2,...)

      $("#id")             //id选择器  
      $("div")            //元素名称选择器  
      $(".classname")    //类选择器  
      $("*")            //选择所有元素
      $(".classname,.classname1,#id1") //组合选择器
    

层次选择器

选择器 实例 选取
后代选择器 $("#parent div") 选择id为parent的元素的所有div元素
子代选择器 $("#parent>div") 选择id为parent的直接div子元素
相邻选择器 $(".blue + img") 选择css类为blue的下一个img元素
同辈选择器 $(".blue ~ img") 选择css类为blue的之后的img元素

表单选择器

选择器 实例 选取
表单选择器 $(":input") 匹配所有 input, textarea, select 和 button 元素
文本框选择器 $(":text") 查找所有文本框
密码框选择器 $(":password") 查找所有密码框
单选框按钮选择器 $(":radio") 查找所有单选按钮
复选框选择器 $(":checkbox") 查找所有复选框
提交按钮选择器 $(":submit") 查找所有提交按钮
图像域选择器 $(":image") 查找所有图像域
重置按钮选择器 $(":reset") 查找所有重置按钮
按钮选择器 $(":button") 查找所有按钮
文本域选择器 $(":file") 查找所有文件域

六、JQuery Dom操作

jQuery 中非常重要的部分就是操作 DOM(Document Object Model)的能力。这是在原生js的基础之上进行了优化,使用起来更加方便。
注意:以下的操作方式只适用于jQuery对象。

操作元素的属性

attr(属性名称):获取指定的属性值,操作 checkbox 时,选中返回 checked,没有选中返回 undefined。
attr(属性名称,属性值):设置指定的属性值
prop(属性名称): 获取具有true和false两个属性的属性值
prop(属性名称,属性值):设置具有true和false的属性值
removeAttr(属性名):移除指定的属性

	<body>
		<pre>
			<h5>1.attr()</h5>
			<h5>2.prop()</h5>
		</pre> 
		<hr/> 
		<a href="http://www.baidu.com" id="a1">百度</a> 
		<a href="http://www.sina.com" id="a2">新浪</a> 
		<input type="checkbox" name="all" checked="checked"/>全选 
	</body> 
	<script type="text/javascript"> 
		// 获取属性值:attr 
		console.log($('#a1').attr('href')); 
		console.log($(':checkbox').attr('name')); 
		// 若未选中显示undefined,选中显示 checked 
		console.log($(':checkbox').attr('checked')); 
		// 获取属性值:prop
		console.log($(":checkbox").prop('checked')); 
		console.log($('#a2').prop('href')) 
		// 设置属性值 
		$('#a1').attr('href','https://jquery.com'); 
		$(":checkbox").prop("checked",false); 
		// 移除属性 
		$('#a2').removeAttr('href'); 
	</script>

Tips:

  1. 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法
  2. 对于HTML元素我们自己自定义的DOM属性,在处理时,使用 attr 方法
  3. 具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop()

操作元素的样式

attr("class"): 获取class属性的值,即样式名称
attr("class","样式名"):修改class属性的值,修改样式
addClass("样式名"): 添加样式名称
css(): 添加具体的样式
removeClass(class): 移除样式名称

	<style type="text/css">
		div{padding: 8px; width: 180px; }
		.blue{background: blue; }
		.larger{ font-size: 30px; }
		.green { background : green; } 
	</style> 
	<body>
		<h3>css()方法设置元素样式</h3> 
		<div id="conBlue" class="blue larger">天蓝色</div> 
		<div id="conRed">大红色</div> 
		<div id="remove" class="blue larger">天蓝色</div> 
	</body> 
	<script type="text/javascript"> 
		// 获取样式名称 
		console.log($("#remove").attr("class")); 
		// 修改样式,那么id为remove的元素样式class只有green 
		// $('#remove').attr("class","green") 
		// 添加样式名称,class名称 --叠加 
		// $('#conBlue').addClass("blue larger"); 
		// 添加元素具体样式 
		$('#conRed').css({"background-color":"red","color":"#fff"}); 
		$('#remove').css('color','red');  
		// 移除样式
		$("#remove").removeClass("blue larger"); 
	</script>

操作元素的内容

html(): 获取元素的html内容
html("html, 内容"): 设定元素的html内容
text(): 获取元素的文本内容,不包含html
text("text 内容"): 设置元素的文本内容,不包含html
val(): 获取元素value值
val("值"): 设定元素的value值

	<body>
		<h3><span>html()和text()方法设置元素内容</span></h3>
		<div id="html"></div> 
		<div id="text"></div> 
		<input type="text" name="uname" value="oop" /> 
	</body> 
	<script type="text/javascript"> 
		// 获取HTML内容,包括HTML标签 
		console.log($('h3').html()); 
		// 获取文本内容,不包括HTML标签 
		console.log($('h3').text()); 
		// 获取value值 
		console.log($('[name=uname]').val()); 
		// 设置 
		$('#html').html("<p>使用html设置,看不到标签</p>"); 
		$('#text').text("<p>使用text设置,能看到标签</p>"); 
		$('[name=uname]').val("哈哈哈"); 
	</script>

Tips:
text()方法仅获取元素的内容,而html()方法连同标签一起获取

创建元素

$('元素内容'):直接创建元素

$('<p>this is a paragraph!!!</p>');

添加元素

prepend(content): 在被选元素内部的开头插入元素或内容,被追加的 content 参数,可以是字符、 HTML 元素标记。
$(content).prependTo(selector): 把 content 元素或内容加入 selector 元素开头
append(content): 在被选元素内部的结尾插入元素或内容,被追加的 content 参数,可以是字符、 HTML 元素标记。
$(content).appendTo(selector): 把 content元素或内容插入selector 元素内,默认是在尾部
before(): 在元素前插入指定的元素或内容:$(selector).before(content)
after(): 在元素后插入指定的元素或内容:$(selector).after(content)

	<body>
		<h3>prepend()方法前追加内容</h3>
	 	<h3>prependTo()方法前追加内容</h3>
	 	<h3>append()方法后追加内容</h3>
	 	<h3>appendTo()方法后追加内容</h3> 
		<span class="red">男神</span> 
		<span class="blue">偶像</span> 
		<div class="green"> 
			<span >小鲜肉</span> 
		</div>
	</body> 
	<script type="text/javascript"> 
		var str ="<span id='mydiv' style='padding: 8px;width: 180px;background- color:#ADFF2F;'>动态创建span</span>"; 
		// 1、使用prepend前加内容
		$("body").prepend(str); 
		// 2、使用prependTo前加内容
		$("<b>开头</b>").prependTo('body'); 
		// 3、使用append后加内容
		$("body").append(str);
		// 当把已存在的元素添加到另一处的时候相当于移动
		$("div").append($('.red'));
		// 4、使用appendTo后追加内容 
		$(str).appendTo('body');
	</script>

Tips:

  1. append/prepend 是在选择元素内部嵌入。
  2. after/before 是在元素外面追加。

移除元素

remove() 删除所选元素或指定的子元素,包括整个标签和内容一起删
empty() 清空所选元素的内容

	<body>
		<h3>删除元素</h3> 
		<span class="green">jquery<a>删除</a></span> 
		<span class="blue">javase</span>
	 	<span class="green">http协议</span> 
		<span class="blue">servlet</span> 
	</body> 
	<script type="text/javascript">
	 	// 删除所选元素 或指定的子元素 
		 $("span").remove(); 
		// 删除样式为blue的span
	 	 $("span.blue").remove(); 
		// 清空元素 
		 $("span").empty(); 
		 $(".green").empty(); 
	</script>  

遍历元素

each()
$(selector).each(function(index,element)) :遍历元素
参数 function 为遍历时的回调函数
index 为遍历元素的序列号,从 0 开始
element是当前的元素,此时是dom元素

	<body>
		<h3>遍历元素 each()</h3>
		<span class="green">jquery</span> 
		<span class="green">javase</span> 
		<span class="green">http协议</span> 
		<span class="green">servlet</span> 
	</body> 
	<script type="text/javascript">
		$('span').each(function (idx , e) { 
			console.log(idx + " ---> " + $(e).text()); 
		}) 
	</script>

七、JQuery事件

事件类型:blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick
mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter
mouseleave,change, select, submit, keydown, keypress, keyup, error

常见事件举例:

	//鼠标单击事件
	$("p").click(function(){
	  $(this).hide();
	});
	
	//鼠标双击事件
	$("p").dblclick(function(){
	  $(this).hide();
	});

	//聚焦事件
	$("input").focus(function(){
	  $(this).css("background-color","#cccccc");
	});

	//离焦事件
	$("input").blur(function(){
	  $(this).css("background-color","#ffffff");
	});

八、JQuery Ajax

AJAX 是一种与服务器交换数据的技术,可以在不重新载入整个页面的情况下更新网页的一部分。
常用方法有:$.ajax()、$.get()、$.post()

$.ajax()

语法:$.ajax({name:value, name:value, ... })
参数:
type:请求方式 GET/POST
url:请求地址 url
async:是否异步,默认是 true 表示异步
data:发送到服务器的数据
dataType:预期服务器返回的数据类型
contentType:设置请求头
success:请求成功时调用此函数
error:请求失败时调用此函数

	$.ajax({ 
		type:"get", 
		url:"js/cuisine_area.json", 
		async:true, 
		success : function (msg) { 
			var str = msg; console.log(str); 
			$('div').append("<ul></ul>"); 
			for(var i=0; i<msg.prices.length;i++){ 
				$('ul').append("<li></li>"); 
				$('li').eq(i).text(msg.prices[i]); 
			} 
		},
		error : function (errMsg) { 
			console.log(errMsg); 
			$('div').html(errMsg.responseText); 
		} 
	});

$.get()

语法:$.get(URL,data,function(data,status,xhr),dataType)
参数:
URL: 必需。规定您需要请求的 URL。
data: 可选。规定连同请求发送到服务器的数据。
function(data,status,xhr): 可选。规定当请求成功时运行的函数。
data - 包含来自请求的结果数据
status - 包含请求的状态("success"、"notmodified"、"error"、"timeout"、"parsererror")
xhr - 包含 XMLHttpRequest 对象
dataType: 可选。规定预期的服务器响应的数据类型。

	//请求 "test.php",但是忽略返回结果:
	$.get("test.php");
	//请求 "test.php" 并连同请求发送一些额外的数据(忽略返回结果):
	$.get("test.php", { name:"Donald", town:"Ducktown" });
	//请求 "test.php" 并传递数据数组到服务器(忽略返回结果):
	$.get("test.php", { 'colors[]' : ["Red","Green","Blue"] });
	//请求 "test.php" 并提醒请求的结果:
	$.get("test.php", function(data){
		alert("Data: " + data);
	});

$.post()

语法:$(selector).post(URL,data,function(data,status,xhr),dataType)
参数:
URL: 必需。规定您需要请求的 URL。
data: 可选。规定连同请求发送到服务器的数据。
function(data,status,xhr): 可选。规定当请求成功时运行的函数。
data - 包含来自请求的结果数据
status - 包含请求的状态("success"、"notmodified"、"error"、"timeout"、"parsererror")
xhr - 包含 XMLHttpRequest 对象
dataType: 可选。规定预期的服务器响应的数据类型。

$("button").click(function(){
    $.post("demo_test.html",function(data,status){
        alert("Data: " + data + "nStatus: " + status);
    });
});

标签:JQuery,jQuery,教程,function,元素,选择器,属性
From: https://www.cnblogs.com/ecjtuzq/p/17233352.html

相关文章

  • Bootstrap教程
    Bootstrap教程一、简介概述Bootstrap是一套现成的CSS样式集合(做得还是很友好的)。是两个推特的员工干出来的。Bootstrap是最受欢迎的HTML、CSS和JS框架,用于开发......
  • DaVinci_Resolve_Studio_18.1.1达芬奇图文安装教程及下载
       ​ DaVinciResolve最大的特点是,将剪辑、调色、视觉特效、动态图形和音频后期制作融于一身,它采用美观新颖的界面设计,易学易用,能让新手用户快速上手操作,还能提供专......
  • SPSS 24 中文破解版安装包下载及图文安装教程​
    SPSS是一款由IBM公司精心打造的专业统计分析软件,它能提供统计分析、数据挖掘、预测建模产品及解决方案,并提供高级统计分析、丰富的机器学习算法、文本分析、开源扩展性、与......
  • SPSS 23 中文破解版安装包下载及图文安装教程​
    SPSS是一款由IBM公司精心打造的专业统计分析软件,它能提供统计分析、数据挖掘、预测建模产品及解决方案,并提供高级统计分析、丰富的机器学习算法、文本分析、开源扩展性、与......
  • SPSS 22 中文破解版安装包下载及图文安装教程​
    SPSS是一款由IBM公司精心打造的专业统计分析软件,它能提供统计分析、数据挖掘、预测建模产品及解决方案,并提供高级统计分析、丰富的机器学习算法、文本分析、开源扩展性、与......
  • SPSS 21 中文破解版安装包下载及图文安装教程​
    SPSS是一款由IBM公司精心打造的专业统计分析软件,它能提供统计分析、数据挖掘、预测建模产品及解决方案,并提供高级统计分析、丰富的机器学习算法、文本分析、开源扩展性、与......
  • SPSS 20 中文破解版安装包下载及图文安装教程​
    SPSS是一款由IBM公司精心打造的专业统计分析软件,它能提供统计分析、数据挖掘、预测建模产品及解决方案,并提供高级统计分析、丰富的机器学习算法、文本分析、开源扩展性、与......
  • SPSS 19 中文破解版安装包下载及图文安装教程​
    SPSS是一款由IBM公司精心打造的专业统计分析软件,它能提供统计分析、数据挖掘、预测建模产品及解决方案,并提供高级统计分析、丰富的机器学习算法、文本分析、开源扩展性、与......
  • SPSS 18 中文破解版安装包下载及图文安装教程​
    SPSS是一款由IBM公司精心打造的专业统计分析软件,它能提供统计分析、数据挖掘、预测建模产品及解决方案,并提供高级统计分析、丰富的机器学习算法、文本分析、开源扩展性、与......
  • Origin 2022【科学数据分析】中文破解版安装包下载及图文安装教程​
    Origin是由OriginLab公司全新开发的一款科学绘图、数据分析软件,能够为用户提供多样的数据统计、数据处理、数据报告等功能,是全球商业行业、学术界和政府实验室超过50万科......