首页 > 其他分享 >Jquery技术

Jquery技术

时间:2024-04-19 15:02:45浏览次数:19  
标签:Jquery jQuery DOM 对象 技术 var 选择器

Jquery技术

一、Jquery基础

1.1、Jquery简介

jQuery由美国人John Resig于2006年创建
jQuery是目前最流行的JavaScript程序库,它是对JavaScript对象和函数的封装
它的设计思想是write less,do more

jQuery官网: http://jquery.com

1648649398360

1.2、初识Jquery应用

1648648744061

$("tr:even").css("background-color","#e8f0f2");

1.3、jQuery能做什么

1. 访问和操作DOM元素
2. 控制页面样式
3. 对页面事件进行处理
4. 扩展新的jQuery插件
5. 与Ajax技术完美结合

jQuery能做的JavaScript也都能做,但使用jQuery能大幅提高开发效率

1.4、jQuery优势

1. 体积小,压缩后只有100KB左右
2. 丰富而强大的选择器
3. 出色的DOM封装
4. 可靠的事件处理机制
5. 出色的浏览器兼容性
6. 使用隐式迭代简化编程
7. 丰富的插件支持

1.5、jQuery库文件

Jquery库文件分为开发版和发布版:

1648649542694

如何引入Jquery库文件:

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

二、Jquery基本语法

2.1、使用jQuery弹出提示框

<script>
     $(document).ready(function() {
        alert("我欲奔赴沙场征战jQuery,势必攻克之!");
    });
</script>

$(document).ready()与window.onload类似,但是也有区别

1648652371147

2.2、jQuery语法结构

1648652491662

工厂函数$():将DOM对象转化为jQuery对象
选择器 selector:获取需要操作的DOM 元素
方法action():jQuery中提供的方法,其中包括绑定事件处理的方法

2.3、Jquery操作页面元素

2.3.1、addClass( )添加样式

jQuery 对象.addClass([样式名]);

2.3.2、css( )元素样式

css("属性","属性值") ;
css({"属性1":"属性值1","属性2":"属性值2"...}) ;

2.3.3、设置元素的显示和隐藏

$(selector).show( );
$(selector).hide( );

演示案例:【仿京东左侧菜单】

1648655898177

2.4、Jquery代码风格

“$” 等同于 "Jquery"

$(document).ready()=jQuery(document).ready()
$(function(){...})=jQuery (function(){...})      

链式操作

对一个对象进行多重操作,并将操作结果返回给该对象

$("h2").css("background-color","#ccffff").next().css("display","block");

隐式迭代

 $(document).ready(function() {
     $("li").css({"font-weight":"bold","color":"red"});
 });

三、DOM对象和jQuery对象

3.1、DOM模型

浏览器把HTML文档的元素转换成节点对象,所有节点组成了一个树状结构

1648653751149

3.2、DOM对象和jQuery对象

DOM对象:直接使用JavaScript获取的节点对象
var objDOM=document.getElementById("title"); 
var objHTML=objDOM.innerHTML;  
jQuery对象:使用jQuery包装DOM对象后产生的对象,它能够使用jQuery中的方法
$(“#title”).html( );  等同于  document.getElementById("title").innerHTML; 

注意!

DOM对象和jQuery对象分别拥有一套独立的方法,不能混用。

3.3、DOM对象转jQuery对象

使用$()函数进行转化:$(DOM对象)

var txtName =document.getElementById("txtName");   ---DOM对象
var $txtName =$(txtName);  ---Jquery对象

注意!

jQuery对象命名一般约定以$开头。

3.4、jQuery对象转DOM对象

jQuery对象是一个类似数组的对象,可以通过[index]的方式得到相应的DOM对象

var $txtName =$ ("#txtName"); 
var txtName =$txtName[0]; 
通过get(index)方法得到相应的DOM对象

var $txtName =$("#txtName"); 
var txtName =$txtName.get(0);       

四、Jquery选择器

jQuery选择器类似于CSS选择器,用来选取网页中的元素
jQuery选择器功能强大,种类也很多,分类如下:
  1. CSS选择器选取元素
    • 基本选择器
    • 层次选择器
    • 属性选择器
  2. 过滤选择器选择元素
    • 基本过滤选择器
    • 可见性过滤选择器

4.1、CSS选择器选取元素

基本选择器包括标签选择器、类选择器、ID选择器、并集选择器和全局选择器

1648654780027

演示案例:【基本选择器】

层次选择器通过DOM 元素之间的层次关系来获取元素

1648654813155

演示案例:【层次选择器】

属性选择器通过HTML元素的属性来选择元素

1648654918153

1648654939770
演示案例:【属性选择器】

4.2、过滤选择器选择元素

过滤选择器: 就是通过特定的过滤规则来筛选出所需的元素

主要分类:
基本过滤选择器
可见性过滤选择器
表单对象过滤选择器

基本过滤选择器

1648655198619

1648655223368

演示案例:【基本过滤选择器】

可见性过滤选择器 :通过元素显示状态来选取元素

1648655463757

1648655520027

演示案例:【可见性过滤选择器】

五、Jquery事件

5.1、鼠标事件

1648658025207

5.2、表单事件

1、focus() 获得焦点,适用于所有元素
2、blur() 失去焦点,适用于所有元素
3、change() 当内容改变时触发 只适用于 input textarea select
4、select() 选中元素中的文本内容时触发 只适用于 input type="text" textarea
5、submit() 当用户试图提交表单时触发,只能绑定在form

六、Jquery操作DOM

6.1、样式操作

  • css( )获取和设置样式
  • addClass( )追加样式
  • removeClass( )移除样式

6.2、内容操作

  • html( )代码操作(文本内容和html元素)

  • text( )内容操作(只关心文本内容)

  • val( )属性值操作

6.3、属性操作

  • attr( )获取和设置元素属性

  • removeAttr( )删除元素属性

七、表单验证

7.1、表单选择器

表单选择器用于选取某些特定的表单元素,比如所有单选按钮或隐藏的元素

1648739423042

1648739469563

演示案例:【表单选择器】

表单属性过滤选择器

1648739511444

演示案例:【表单过滤选择器】

7.2、验证实例

使用String 对象验证邮箱

实现思路:
使用val( )方法获取文本框的值
使用indexOf() 来判断字符串是否包含“@”和“.”,并且保证@是在.之前的位置
使用方法submit( )提交表单
根据返回值是true还是false来决定是否提交表单

1648739901485

$(document).ready(function(){
	$("form").submit(function(){
		var mail = $("#myform :text").val();
		if (mail=="") {//检测Email是否为空
			alert("Email不能为空");
			return false;
		}
		if (mail.indexOf("@") == -1) {
			alert("Email格式不正确\n必须包含@");
			return false;
		}
		if (mail.indexOf(".") == -1) {
			alert("Email格式不正确\n必须包含.");
			return false;
		}
		return true;
	})
})

演示案例:【验证休闲网登录页面】

文本框内容的验证
需求:
1、密码必须要填写,并且保证密码长度至少是6位;
2、重复的密码和设置的密码要保持一致;
3、姓名必须要填写,并且不能包含数字;

实现思路:
使用String对象的length属性验证密码的长度
验证判断两次输入密码是否一致
使用length属性获取文本长度,再使用for循环和substring( )方法依次截断单个字符,最后判断每个字符是否是数字

1648740344315

  var pwd = $("#pwd").val();
    if (pwd == "") {
       alert("密码不能为空");
          return false;
    }
    if (pwd.length < 6) {
        alert("密码必须等于或大于6个字符");
          return false;
    }

    var repwd = $("#repwd").val();
    if (pwd != repwd) {
            alert("两次输入的密码不一致");
             return false;
    }

    var user = $("#user").val();
    if (user == "") {
        alert("姓名不能为空");
       return false;
    }

    "admin"
    for (var i = 0; i < user.length; i++) {
          var j = user.substring(i, i + 1);
          if (isNaN(j) == false) {
              alert("姓名中不能包含数字");
              return false;
          }
    }

注意!

isNaN(参数):判断参数是否是一个数字,返回的是一个boolean类型;

演示案例:【体闲网注册验证】

文本输入提示特效

实现思路
把错误信息显示在<span>中,然后使用html()方法,设置<span>和</span>之间的内容
编写脚本验证函数
鼠标失去焦点时(blur事件)调用验证函数

1648741240685

演示案例:【文本输入提示特效】

正则表达式验证邮政编码和手机号码

中国的邮政编码都是6位
手机号码都是11位,并且第1位都是1

var regCode=/^\d{6}$/;
var regMobile=/^1\d{10}$/;

1648741756863

演示案例:【验证邮编和手机号码】

验证年龄

对年龄进行验证,年龄必须在0-120之间
[0--9]   \d  
[10--99]  [1-9] \d 
[100-120]--- 不能全部按照三位数的格式来进行定义
   [100-119] :  1[0-1]\d 
   120

0-9这个范围是一位,正则表达式为\d
10-99这个范围都是两位数,正则表达式为[1-9]\d
100-119这个范围是三位数,正则表达式为1[0-1]\d
所有年龄的个位都是0-9,当百位是1,十位是0-1,正则表达式为(1[0-1]|[1-9])?\d
年龄120是单独的一种情况,需要单独列出来

var  reg = /^......$/;
reg.test(数据)
函数的结果是boolean类型:  true(匹配成功) 、 false(匹配失败)。

注意!

在正则对象中有一个方法经常使用: reg.test(数据) ,检验数据是否匹配这个正则格式,返回的是boolean类型。

演示案例:【验证年龄】

八、Jquery实现Ajax

8.1、Jquery实现Ajax简介

jquery 库中已经封装了ajax请求的方法。

jquery.ajax([settings])。发请求并且能得知成功还是失败。

type:类型,"POST"或者"GET",默认是"GET"。
url:发送请求的地址。
data:是一个对象,连同请求发送到服务器的数据
dataType:预期服务器返回的数据类型。如果不指定,jQuery将自动根据HTTP包含的MIME信息来智能判断,一般我们采用json个数,可以设置为"json"。
success:是一个方法,请求成功后的回调函数。传入返回后的数据,以及包含成功代码的字符串。
error:是一个方法、请求失败时调用此函数。传入XMLHttpRequest对象。

8.2、实现Get请求

$(document).ready(function(){
    $("#searchBtn").click(function(){
        $.ajax({
            type:"GET",
            url:" https://api.passport.xxx.com/checkNickname?username="+mylogin.username+"&token="+mylogin.token+"&nickname="+nickname+"&format=jsonp&cb=?",
            dataType:"json",
            success:function(data){
               //data就是从服务器端获取到的数据
            },
            error:function(jqXHR){
                console.log("Error: "+jqXHR.status);
            }
        });
    });
});

注意!

在实现get请求的过程中,进行参数的传递使用的是url地址后面进行附加形式。

8.3、实现Post请求

function dologin(qrid,username,token){
    $.ajax({
        url:"http://api.passport.pptv.com/v3/login/qrcode.do",
        type:"post",
        dataType:"jsonp",
        data:{from:"clt",qrid:qrid,username:username,token:token},
        success:function(data){
             //data就是服务器端返回的数据信息
        }
    });
}

注意!

针对POST请求,我们是通过data属性以对象的形式来进行参数的传递。

8.4、总结

在使用Jquery实现Ajax请求的时候需要注意的地方:

1、针对get形式的请求,我们传递参数是在url地址后面进行附加;

2、针对post形式的请求,使用的是data以对象的形式进行传递;

3、dataType指定的是服务器端返回的结果的预期类型,如果非json格式,建议大家不写(智能匹配),如果是json格

   式建议写上json格式的指定;
   
4、如果dataType指定的是json格式,那么直接在success函数中返回的就是一个json对象;   

标签:Jquery,jQuery,DOM,对象,技术,var,选择器
From: https://www.cnblogs.com/hardrockstudy/p/18145899

相关文章

  • JavaWeb技术
    JavaWeb技术1、统一了项目的整体结构(标准化)。2、可以动态的加载jar包(导入依赖)。jdbc技术-----导入jar包---mysql数据库驱动包。3、便于项目的打包、部署、发布。一、JSP简介JSP其实就是JavaServerPages的缩写,是一种动态网页技术。能够支持的编程语言只有Java程序。......
  • JavaScript技术
    JavaScript技术一、JavaScript的定义JavaScript是一种【基于对象】和【事件驱动】的【脚本语言】,在客户端执行,客户端主要实现数据的验证和页面的特效,大幅度提高网页的速度和交互的能力,在互联网中得到了广泛的运用。基于对象:js是基于面向对象的。事件驱动:使用的时候是结合......
  • Ajax技术
    Ajax技术一、Ajax技术简介什么是Ajax?AJAX=异步JavaScript+XML。AJAX是一种用于创建快速动态网页的技术(客户端)。通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(......
  • 大数据技术
    首先,从Hadoop开始入门学习,因为它是整个大数据生态圈的基石,其它框架都直接或者间接依赖于Hadoop。Hadoop包括:分布式文件系统HDFS、计算框架MapReduce、资源调度YARN。接下来,更加深入学习主流的混合处理框架Spark和Flink。其次,Zookeeper、Hive、Kafka、HBase都是具有代......
  • 云原生技术学习路线图 初阶+中阶+高阶
    一.运维技术栈1.1运维高薪的技术点后端开发涉及到的基础设施技术:docker,k8s,servicemesh,yaml式的声明APICI/CD:jenkins,argo,Tekton,gitlab自动化工具:ansible,shell,ELK微服务:服务网格高薪技术点,重点研究这4个。当然云原生的技术栈内容很多,不可能面面俱到,那就捡重点的进行......
  • NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落
    NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(SpidervsBIRD)全面对比优劣分析[Text2SQL、Text2DSL]NL2SQL基础系列(2):主流大模型与微调方法精选集,Text2SQL经典算法......
  • RC4Drop加密技术:原理、实践与安全性探究
    第一章:介绍1.1加密技术的重要性加密技术在当今信息社会中扮演着至关重要的角色。通过加密,我们可以保护敏感信息的机密性,防止信息被未经授权的用户访问、窃取或篡改。加密技术还可以确保数据在传输过程中的安全性,有效防止信息泄露和数据被篡改的风险。在网络通信、电子商务、金......
  • 第一节起重机械的主要技术参数
     第四章起重机械概述第一节起重机械的主要技术参数一、额定起重量G(t)起重机在正常作业时所允许起吊物品的最大重量即有效起重量G,加上取物装置(一般起重机品钩除外,流动式起重机含吊钩)的重量G,称为起重机的额定起重量。如带抓斗和电磁吸盘的起重机其额定起重量等于物品的重量与......
  • 开发者导航:发现技术世界的航向
    开发者导航:发现技术世界的航向在这个飞速发展的数字时代,技术的更新换代日新月异,对于每一位开发者来说,及时获取最新的技术资讯和工具是至关重要的。而正是在这样的背景下,开发者导航应运而生,为广大开发者提供了一个方便快捷的信息获取平台。本文将深入探讨开发者导航的特点与优势,并......
  • 亚马逊云集齐 Claude 3 全家桶;世界数字技术院发布大模型安全国际标准丨 RTE 开发者日
       开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编......