Jquery详解

一.Jquery介绍

1.jQuery 是一个快速、简洁的 JavaScript 库,它极大地简化了 HTML 文档遍历、事件处理、动画效果和 AJAX 交互等操作,使开发者能够更轻松地创建动态和交互性强的网页。对原生js的封装,提供了很多时间,调用Api即可,并且对浏览器做了兼容性
快速入门:
//1.$(function(){})等价于原生的js的,当页面加载完成就会执行的function(){}
  $(function (){
      //$btn01是一个jquery对象,其实就是对dom对象的封装
      //jquery中获取对象的方法是$(#id),编程中规定jquery的对象以#开头命名
      var $btn01 = $("#btn01");
    $btn01.click(function (){
        alert("hello,jquery...")
    })
  })

2.什么是jquery对象
①jquery对象是对dom对象包装后的对象
②jquery对象是jquery独有的,如果一个对象是jquery对象,那么他可以使用jquery的方法

3.dom对象和query对象互转

①dom对象转
 window.onload=function (){
      var username = document.getElementById("username");
      //alert(username.value)
      var $username = $(username);
      alert($username.val()+"juqer的")
    }
    <body>
   用户名: <input type="text" name="username" id="username" value="小明">
</body>

window.onload=function (){
    var $username = $("#username");
    alert($username.val())

    }
    <body>
   用户名: <input type="text" name="username" id="username" value="小明">
</body>

③jquer对象转dom对象

 <script type="text/javascript">
    $(function (){
      var $username = $("#username");
      //将jquery对象转为dom对象,jquery是一个数组对象
      //方式一
      var username1 = $username[0];
      alert(username1.value)
      //方式二
      var username2 = $username.get(0);
      alert(username2.value)
    })
  </script>

二.Jquery选择器

	在dom编程中,若网页没有id=value的元素就会报错,而jqueery编程不会报错
	**1.基本选择器**  包括类,元素,标签选择器
 <style type="text/css">
    .mini{
      width: 60px;
      height: 30px;
      background: #CC66FF;
      border: #000 1px solid;
      font-size: 12px;
      font-family: Roman;
    }
    #two{
      width: 100px;
      height: 30px;
      background: chartreuse;
      border: #000 1px solid;
      font-size: 12px;

    }
    #s_two{
      width: 100px;
      height: 30px;
      background: darkslategrey;
      border: #000 1px solid;
      font-size: 12px;
    }

  </style>
  <script type="text/javascript" src="script/jquery-3.7.1.min.js"></script>
  <script type="text/javascript">
    $(function () {
      //1.改变id为one的元素的背景色(id选择器)
      $("#b1").click(
              function () {
                var $one = $("#one");
                $one.css("background", "#0000FF")
              })
      //2.改变class为mini的所有元素的背景色(类选择器)
      $("#b2").click(function () {
        $(".mini").css("background", "#FF0033")
      })
      //3.改变元素名为<div>的所有元素背景(元素选择器)
      $("#b3").click(function () {
        $("div").css("background", "#00FFFF")
      })

      //4.改变所有元素的背景色
      $("#b4").click(function (){
        $("*").css("background","#00FF33")
      })
    //5.改变所有的<span>元素和id为two class的所有元素的背景色为#3399FF(组合选择器)
    $("#b5").click(function (){
      $("#two,span").css("background","#3399FF")
    })
    })

  </script>
</head>
<body>
<input type="button" value="改变id为one的元素的背景色为#0000FF" id="b1">
<input type="button" value="改变class为mini的元素的背景色为#FF0033" id="b2">
<input type="button" value="改变元素名为<div>的所有元素的背景色为#00FFFF" id="b3">
<input type="button" value="改变所有元素的背景色为#00FF33" id="b4">
<input type="button" value="改变所有的<span>元素和id为two class的所有元素的背景色为#3399FF" id="b5">

<div id="one" class="mini">div id为one</div>
<div id="two" >div id为two</div>
<div id="three" class="mini">div id为three</div>
<span id="s_one" class="mini">span one</span>
<span id="s_two">span two</span>

</body>

2.层次选择器,
想通过dom元素之间的层次关系来获取特定元素,例如后代元素,子元素,兄弟元素,相邻元素就要用到层次选择器

<script type="text/javascript">
    $(function (){
    //1.改变<body>内所有<div>的背景色为#0000FF
      $("#b1").click(function (){
        $("div").css("background","#0000FF")
      })
      //2.改变<body>内子<div>的背景色为#FF0033
      $("#b2").click(function (){
        $("body > div").css("background","#FF0033")
      })
      //3.改变id为one的下一个<div>的背景色为#0000FF
      $("#b3").click(function (){
       // $("#one").next().css("background","#0000FF")
        $("#one+div").css("background","#0000FF")
      })
      //4.改变id为two的元素后面的所有兄弟<div>的元素的背景为"#0000FF"
      $("#b4").click(function (){
        //$("#two~div").css("background","#0000FF")
        $("#two").nextAll("div").css("background","#0000FF")
      })
      //5.改变id为two的元素所有<div>兄弟元素的背景色为#0000FF
      $("#b5").click(function (){
        $("#two").siblings("div").css("background","#0000FF")
      })
    })
  </script>
</head>
<body>
<input type="button" value="改变<body>内所有<div>的背景色为#0000FF" id="b1">
<input type="button" value="改变<body>内子<div>的背景色为#FF0033" id="b2">
<input type="button" value="改变id为one的下一个<div>的背景色为#0000FF" id="b3">
<input type="button" value="改变id为two的元素后面的所有兄弟<div>的元素的背景为#0000FF" id="b4">
<input type="button" value="改变id为two的元素所有<div>兄弟元素的背景色为#0000FF" id="b5">

<div id="one" class="mini">div id为one</div>
<div id="two" >div id为two
<div id="two01">id two 01</div>
  <div id="two02"> id two02</div>
</div>
<div id="three" class="mini">div id为three
<div id="three01"> id three01</div></div>
<span id="s_one" class="mini">span one</span>
<span id="s_two">span two</span>

</body>

3.基础过滤选择器
在这里插入图片描述
在这里插入图片描述
4.内容过滤选择器
 0

5.可见度过滤选择器
在这里插入图片描述

6.属性过滤器
在这里插入图片描述
在这里插入图片描述
7.子元素过滤器
在这里插入图片描述
在这里插入图片描述
8.表单属性过滤器
在这里插入图片描述
在这里插入图片描述

三.jquery的dom操作

**1.创建节点**

在这里插入图片描述
在这里插入图片描述

2.删除节点
用jquery的remove方法,当删除节点时,包括删除该节点所有的子节点
清空节点:用empty方法会清空节点的所有子节点,不包含属性节点(清空节点内容)
3.复制节点
clone():克隆匹配的dom元素,返回值为克隆后的副本,但此时复制的新节点不具有任何行为
clone(true):复制元素的同时也复制元素中的事件
4.替换节点
replaceWith():将所有匹配的元素都替换为指定的HTML或者Dom元素:A.replacewith(B)
replaceAll():颠倒了的replaceWith()方法.A.replaceAll(B)
注意事项:若在替换之前,已经在元素上绑定了事件,则替换后原先绑定的事件会与原先的元素一起消失
5.属性操作
attr() 用于获取属性和设置属性,传递一个参数获取指定属性,传递两个参数为设置属性的值
如removeAttr():删除指定元素的指定属性
6.样式操作
//1.获取和设置样式
$(“#first”).attr(“class”,“one”)
//2.追加样式
$(“#first”).addClass(“one”)
//3.移除样式
$(“#first”).removeClass()
//4.切换样式
$(“#first”).toggleClass(“one”)
//5.判断是否含有某个样式
$(“first”).hasClass(“one”)
7.常用遍历节点方法
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/978188.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【EB-06】SystemCreator dbc转arxml

SystemCreator dbc转arxml 1. SystemCreator 意义2. SystemCreator使用方法2.1 实现步骤2.2 参考官方文档方法1. SystemCreator 意义 EB Tresos 对dbc直接导入的支持不是很完善,dbc也不是AUTOSAR标准的数据库文件,EB建议所有通信矩阵通过ARXML交互比较合理(AUTOSAR定义的)…

LeetCode225.用队列实现栈

LeetCode225.用队列实现栈 文章目录 LeetCode225.用队列实现栈题目描述实现1:实现2: 题目描述 请你仅使用两个队列实现一个后入先出&#xff08;LIFO&#xff09;的栈&#xff0c;并支持普通栈的全部四种操作&#xff08;push、top、pop 和 empty&#xff09;。 实现 MyStack…

【Linux】vim 设置

【Linux】vim 设置 零、起因 刚学Linux&#xff0c;有时候会重装Linux系统&#xff0c;然后默认的vi不太好用&#xff0c;需要进行一些设置&#xff0c;本文简述如何配置一个好用的vim。 壹、软件安装 sudo apt-get install vim贰、配置路径 对所有用户生效&#xff1a; …

【FL0091】基于SSM和微信小程序的社区二手物品交易小程序

&#x1f9d1;‍&#x1f4bb;博主介绍&#x1f9d1;‍&#x1f4bb; 全网粉丝10W,CSDN全栈领域优质创作者&#xff0c;博客之星、掘金/知乎/b站/华为云/阿里云等平台优质作者、专注于Java、小程序/APP、python、大数据等技术领域和毕业项目实战&#xff0c;以及程序定制化开发…

Javaweb后端数据库多表关系一对多,外键,一对一

多表关系 一对多 多的表里&#xff0c;要有一表里的主键 外键 多的表上&#xff0c;添加外键 一对一 多对多 案例

seacmsv9注入管理员账号密码+orderby+limit

seacmsv9注入管理员账号密码 seacms介绍 海洋影视管理系统&#xff08;seacms&#xff0c;海洋cms&#xff09;是一套专为不同需求的站长而设计的视频点播系统&#xff0c;采用的是 php5.Xmysql 的架构&#xff0c;使用 fofa 搜索可以看到存在 400的记录&#xff1a; 因为sea…

开源基准测试模拟器:BlueROV2 水下机器人的控制(更改Z方向控制器)

开源基准测试模拟器:BlueROV2 水下机器人的控制(更改Z方向控制器) 将原有项目的z方向控制器由自适应滑膜控制器(ASMC)更改为自抗扰控制器(ADRC) 原Z控制器 更改为ADRC后图像 原自适应滑膜控制器代码 function u =

【苍穹外卖】问题笔记

【DAY1 】 1.VCS找不到 好吧&#xff0c;发现没安git 接着发现安全模式有问题&#xff0c;点开代码信任此项目 2.导入初始文件&#xff0c;全员爆红 好像没maven&#xff0c;配一个 并在设置里设置好maven 3.启用注解&#xff0c;见新手苍穹 pom.xml改lombok版本为1.1…

项目实践 之 pdf简历的解析和填充(若依+vue3)

文章目录 环境背景最终效果前端讲解左侧模块解析右侧上传模块解析前端步骤 后端讲解代码前端 环境背景 若依前后端分离框架 vue最后边附有代码哦 最终效果 前端讲解 左侧模块解析 1、左侧表单使用el-form 注意&#xff1a; 1、prop出现的字段&#xff0c;需要保证是该类所…

Web自动化之Selenium控制已经打开的浏览器(Chrome,Edge)

在使用selenium进行web自动化或爬虫的时候,经常会面临登录的情况,对于这种情况,我们可以利用Selenium控制已经打开的浏览器&#xff0c;从而避免每次都需要重新打开浏览器并进行登录的繁琐步骤。 目录 说明 启动浏览器 注意 --user-data-dir说明 代码设定 代码 改进代…

千峰React:案例一

做这个案例捏 因为需要用到样式&#xff0c;所以创建一个样式文件&#xff1a; //29_实战.module.css .active{text-decoration:line-through } 然后创建jsx文件&#xff0c;修改main文件&#xff1a;导入Todos&#xff0c;写入Todos组件 import { StrictMode } from react …

自动驾驶FSD技术的核心算法与软件实现

引言&#xff1a;FSD技术的定义与发展背景 在当今快速发展的科技领域中&#xff0c;自动驾驶技术已经成为全球关注的焦点之一。其中&#xff0c;“FSD”&#xff08;Full Self-Driving&#xff0c;全自动驾驶&#xff09;代表了这一领域的最高目标——让车辆在无需人类干预的情…

Go红队开发—并发编程

文章目录 并发编程go协程chan通道无缓冲通道有缓冲通道创建⽆缓冲和缓冲通道 等协程sync.WaitGroup同步Runtime包Gosched()Goexit() 区别 同步变量sync.Mutex互斥锁atomic原子变量 SelectTicker定时器控制并发数量核心机制 并发编程阶段练习重要的细节端口扫描股票监控 并发编程…

【嵌入式原理设计】实验六:倒车控制设计

目录 一、实验目的 二、实验环境 三、实验内容 四、实验记录及处理 五、实验小结 六、成果文件提取链接 一、实验目的 熟悉和掌握各模块联合控制的工作方式 二、实验环境 Win10ESP32实验开发板 三、实验内容 1、用串口和OLED显示当前小车与障碍物的距离值&#xff1b…

探索浮点数在内存中的存储(附带快速计算补码转十进制)

目录 一、浮点数在内存中的存储 1、常见的浮点数&#xff1a; 2、浮点数存储规则&#xff1a; 3、内存中无法精确存储&#xff1a; 4、移码与指数位E&#xff1a; 5、指数E的三种情况&#xff1a; 二、快速计算补码转十进制 1、第一种方法讨论&#xff1a; 2、第二种方…

实体机器人识别虚拟环境中障碍物

之前的内容已经实现了虚拟机器人识别实体机器人的功能&#xff0c;接下来就是实体机器人如何识别虚拟环境中的障碍物&#xff08;包括虚拟环境中的障碍物和其他虚拟机器人&#xff09;。 我做的是基于雷达的&#xff0c;所以主要要处理的是雷达的scan话题 我的虚拟机器人命名…

湖北中医药大学谱度众合(武汉)生命科技有限公司研究生工作站揭牌

2025年2月11日&#xff0c;湖北中医药大学&谱度众合&#xff08;武汉&#xff09;生命科技有限公司研究生工作站揭牌仪式在武汉生物技术研究院一楼101会议室举行&#xff0c;湖北中医药大学研究生院院长刘娅教授、基础医学院院长孔明望教授、基础医学院赵敏教授、基础医学院…

ARM Coretex-M核心单片机(STM32)找到hardfault的原因,与hardfault解决方法

1. 前提基础知识&#xff08;ARM异常 压栈流程&#xff09;M核栈增长是地址逐渐减小的 **M3h ARM CM4核心带浮点处理器FPU的&#xff0c;压栈的东西还不一样 进入hardfult后看MSP或者SP的值&#xff0c;看下边第二章图如果hardfult里边啥都没有&#xff0c;就只有个while(1){}…

组件传递props校验

注意&#xff1a;prop是只读的&#xff01;不可以修改父组件的数据。 可以检验传过来的内容是否类型没问题。 App.vue <template><div><!-- <parentDemo/> --><componentA/></div></template> <script> import ComponentA …

机试刷题_NC52 有效括号序列【python】

NC52 有效括号序列 from operator import truediv # # 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可 # # # param s string字符串 # return bool布尔型 # class Solution:def isValid(self , s: str) -> bool:if not s…