day09

文章目录

  • 一、jQuery简介
    • 1. 介绍
    • 2. 使用
        • 1)引入
        • 2)工厂函数 - $()
        • 3)原生JS对象与jQuery对象
        • 4)jQuery获取元素
        • 5)操作元素内容
        • 6)操作标签属性
        • 7)操作标签样式
        • 8)根据层级结构获取元素
        • 9)元素的创建,添加,删除
        • 10)动画
        • 11)jQuery事件处理
    • 3.实现下拉列表框的三级联动
      • 1. 页面效果
      • 2. 代码分析
        • 1. 页面元素
        • 2. 初始代码
        • 3. 绑定省份
        • 4. 绑定城市

一、jQuery简介

1. 介绍

jQuery是JS的工具库,对原生JS中的DOM操作、事件处理、包括数据处理和Ajax技术等进行封装,提供更完善,更便捷的方法。

2. 使用

1)引入

先引入jquery文件,才能使用jquery语法

1. CDN 有网
2. 本地文件(常用)
2)工厂函数 - $()

"$()"函数用于获取元素节点,创建元素节点或将原生JS对象转换为jquery对象,返回 jQuery 对象。jQuery 对象实际是一个类数组对象,包含了一系列 jQuery 操作的方法。
例 :

 //$()获取元素节点,需传入字符串的选择器
 $("h1")
 $("#d1")
 $(".c1")
 $("body,h1,p")
3)原生JS对象与jQuery对象

原生JS对象与jQuery对象的属性和方法不能混用。可以根据需要,互相转换 :

  1. 原生JS转换jQuery对象
    $(原生对象),返回 jQuery 对象
  2. jQuery对象转换原生JS对象
    • 方法一 : 根据下标取元素,取出即为原生对象
      var div = $(“div”)[0];
    • 方法二 : 使用jQuery的get(index)取原生对象
      var div2 = $(“div”).get(0);
4)jQuery获取元素

jQuery通过选择器获取元素,$(“选择器”)
选择器分类 :

  1. 基础选择器
标签选择器:$("div")
ID 选择器:$("#d1")
类选择器:$(".c1")
群组选择器:$("body,p,h1")
  1. 层级选择器
后代选择器: $("div .c1")
子代选择器: $("div>span")
相邻兄弟选择器: $("h1+p")  匹配选择器1后的第一个兄弟元素,同时要求兄弟元素满足选择器2
通用兄弟选择器: $("h1~h2") 匹配选择器1后所有满足选择器2的兄弟元素
  1. 过滤选择器
    需要结合其他选择器使用。
:first
  匹配第一个元素 例:$("p:first")
:last
  匹配最后一个元素 例:$("p:last")
:odd
  匹配奇数下标对应的元素
:even
  匹配偶数下标对应的元素
:eq(index)
  匹配指定下标的元素
:lt(index)
  匹配下标小于index的元素
:gt(index)
  匹配下标大于index的元素
:not(选择器)
  否定筛选,除()中选择器外,其他元素
  1. 子元素过滤选择器
:first-child
   匹配第一个子元素
:last-child
   匹配最后一个子元素
:nth-child(n)
   匹配第n个子元素(n从1开始计数)
5)操作元素内容
html() //设置或读取标签内容,等价于原生innerHTML,可识别标签语法
text() //设置或读取标签内容,等价于innerText,不能识别标签
val()  //设置或读取表单元素的值,等价于原生value属性
6)操作标签属性
  1. attr(“attrName”,“value”)
    设置或读取标签属性
  2. prop(“attrName”,“value”)
    设置或读取标签属性
    注意 :在设置或读取元素属性时,attr()和prop()基本没有区别;但是在读取或设置表单元素(按钮)的选中状态时,必须用prop()方法,attr()不会监听按钮选中状态的改变,只看标签属性checked是否书写
  3. removeAttr(“attrName”)
    移除指定属性
7)操作标签样式
  1. 为元素添加id/class属性,对应选择器样式
  2. 针对类选择器,提供操作class属性值的方法
addClass("className")	//添加指定的类名
removeClass("className")//移除指定的类型,如果参数省略,表示清空class属性值
toggleClass("className")//结合用户行为,实现动态切换类名.如果当前元素存在指定类名,则移除;不存在则添加
  1. 操作行内样式
css("属性名","属性值")  //设置行内样式
css(JSON对象)			 //设置一组CSS样式
/*
JSON对象:常用数据传输格式
语法 :
   {
    "width":"200px",
    "height":"200px",
    "color":"red"
   }
 */
8)根据层级结构获取元素
  1. parent()
    返回父元素
  2. parents(‘selector’)
    返回满足选择器的祖先元素
  3. children()/children(“selector”)
    返回所有直接子元素/返回满足选择器的直接子元素
  4. find(“selector”)
    返回所有的后代元素(包含直接与间接)
  5. next()/next(“selector”)
    返回下一个兄弟元素/返回下一个兄弟元素,必须满足选择器
  6. prev()/prev(“selector”)
    返回前一个兄弟元素/返回前一个兄弟元素,要求满足选择器
  7. siblings()/siblings(“selector”)
    返回所有的兄弟元素/满足选择器的所有兄弟元素
9)元素的创建,添加,删除
  1. 创建
    使用$(“标签语法”),返回创建好的元素
var div = $("<div></div>");	//创建元素
div.html("动态创建").attr("id","d1").css("color","red"); //链式调用,设置内容和属性
var h1 = $("<h1 id='d1'>一级标题</h1>");	//创建的同时设置内容,属性和样式
  1. 添加至页面
    1)作为子元素添加
$obj.append(newObj);	//在$obj的末尾添加子元素newObj
$obj.prepend(newObj);	//作为第一个子元素添加至$obj中

2)作为兄弟元素添加

$obj.after(newObj);		//在$obj的后面添加兄弟元素
$obj.before(newObj);	//在$obj的前面添加兄弟元素

3)移除元素

$obj.remove();	//移除$obj
10)动画
1. 显示和隐藏 show(2000,callback)/hide(2000,callback)
2. 下拉和上推 slideDown()/slideUp()(块元素才能实现)
3. 淡隐淡现方式显示 fadeOut()/fadeIn()
4. 动画函数,可以实现自定义动画 animate 函数
11)jQuery事件处理
  1. 文档加载完毕
    原生JS 方法:window.onload
    jQuery:
//语法一 
$(document).ready(function (){
  //文档加载完毕后执行
})
//语法二 
$().ready(function (){
  //文档加载完毕后执行
})
//语法三 
$(function(){
  //文档加载完毕后执行
})

区别:
原生onload事件不能重复书写,会产生覆盖问题;jquery中对事件做了优化,可以重复书写ready方法,依次执行

  1. 事件绑定方式
    事件名称省略 on 前缀
  //on("事件名称",function)
  $("div").on("click",function(){});//新版本使用的多些
  //bind("事件名称",function)
  $("div").bind("click",function(){});//1.6-1.8间的版本
  //事件名作为方法名
  $("div").click(function(){});  
  1. this 表示事件的触发对象,在 jquery 中可以使用,注意转换类型。this为原生对象只能使用原生的属性和方法,可以使用$(this)转换为jquery对象,使用 jquery 方法。

3.实现下拉列表框的三级联动

1. 页面效果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2. 代码分析

1. 页面元素

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2. 初始代码

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3. 绑定省份

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4. 绑定城市

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

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

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

相关文章

Cisco 将收购 Cilium 母公司 Isovalent,预计 2024 年第 3 季度完成

本文地址&#xff1a;Cisco 将收购 Cilium 母公司 Isovalent&#xff0c;预计 2024 年第 3 季度完成 | 深入浅出 eBPF 2023 年 12 月 21 日&#xff0c;Isovalent 公司 CTO & 联合创始人 Thomas Graf 和 Cisco 安全业务集团高级副总裁兼总经理 Tom Gillis 分别在各自公司网…

解决Unity物体速度过快无法进行碰撞检测(碰撞检测穿透)

解决Unity物体速度过快无法进行碰撞检测&#xff08;碰撞检测穿透&#xff09; 一、解决碰撞检测穿透方法一Collision Detection碰撞检测总结&#xff1a; 二、解决碰撞检测穿透方法二 一、解决碰撞检测穿透方法一 首先我们知道只要是跟碰撞相关的基本都是离不开刚体 Rigidbod…

LuaTable转C#的列表List和字典Dictionary

LuaTable转C#的列表List和字典Dictionaty 介绍lua中创建表测试lua中list表表转成List表转成Dictionary 键值对表表转成Dictionary 多类型键值对表表转成Dictionary 总结 介绍 之前基本都是从C#中的List或者Dictionary转成luaTable&#xff0c;很少会把LuaTable转成C#的List或者…

.net core webapi 大文件上传到wwwroot文件夹

1.配置staticfiles(program文件中) app.UseStaticFiles();2.在wwwroot下创建upload文件夹 3.返回结果封装 namespace webapi;/// <summary> /// 统一数据响应格式 /// </summary> public class Results<T> {/// <summary>/// 自定义的响应码&#xff…

基于Flask、MySQL和Echarts的*市CPI和物价水平数据可视化分析

基于Flask、MySQL和Echarts的*市CPI和物价水平数据可视化分析 引言&#xff1a; 在当前社会经济背景下&#xff0c;CPI&#xff08;居民消费价格指数&#xff09;和物价水平的波动对市场和居民生活产生直接影响。本文将介绍一款基于Flask、MySQL和Echarts的数据可视化系统&…

Nature 新研究发布,GPT 驱动的机器人化学家能够自行设计和进行实验,这对科研意味着什么?

文章目录 前言揭秘Coscientist不到四分钟&#xff0c;设计并改进了程序能力越大&#xff0c;责任越大 前言 有消息称&#xff0c;AI 大模型 “化学家” 登 Nature 能够自制阿司匹林、对乙酰氨基酚、布洛芬&#xff0c;甚至连复杂的钯催化交叉偶联反应&#xff0c;也能完成。 …

20231222给NanoPC-T4(RK3399)开发板的适配Android11的挖掘机方案并跑通AP6398SV

20231222给NanoPC-T4(RK3399)开发板的适配Android11的挖掘机方案并跑通AP6398SV 2023/12/22 7:54 简略步骤&#xff1a;rootrootrootroot-X99-Turbo:~/3TB$ cat Android11.0.tar.bz2.a* > Android11.0.tar.bz2 rootrootrootroot-X99-Turbo:~/3TB$ tar jxvf Android11.0.tar.…

『OPEN3D』1.1 点云处理

目录 1.open3d中的点云IO 2.点云的可视化 3 点云voxel下采样 4. 顶点法线估计 5.最小外界矩 6. 凸包计算 7. 点云距离计算 8. DBSCAN clustering聚类 9. RANSAC(Random Sample Consensus) 10. 点云平面分割 11. 隐藏点移除 12.outliers移除 13 最远点采样&#xf…

安全、高效的MySQL DDL解决方案

MySQL作为目前应用最广泛的开源关系型数据库&#xff0c;是许多网站、应用和商业产品的主要数据存储。在生产环境&#xff0c;线上数据库常常面临着持续的、不断变化的表结构修改&#xff08;DDL&#xff09;&#xff0c;如增加、更改、删除字段和索引等等。其中一些DDL操作在M…

Vue3中的混入(mixins)

本文主要介绍Vue3中的混入&#xff08;mixins&#xff09;。 目录 一、在普通写法中使用混入&#xff1a;二、在setup写法中使用混入&#xff1a; 混入是Vue中一种用于在组件中共享可复用功能的特性。在Vue 3中&#xff0c;混入的使用方式有所改变。 一、在普通写法中使用混入…

MongoDB安装部署

二、安装部署 2.1 下载 下载地址&#xff1a;MongoDB Enterprise Server Download | MongoDB 当前最新版本6.0.9&#xff0c;5.0.9对Mac m1需要centos 8.2版本。选择docker安装。 2.2 docker-ce安装 # 安装docker # 默认repo源没有docker-ce安装包&#xff0c;需要新的rep…

Station_Map1221Update

1221 Polish 1. Transfer the road coordinates from the UE coordinates system into the CAD coordinates system by using the functions in the file INDEX2UE.py Report Changes in the function initialMatrix # 初始化标签self.outdoor_label[self.wall_matrix 1] …

如何使用树莓派Bookworm系统中配置网络的新方法NetworkManager

树莓派在 10 月新出的 Bookworm 版本系统中&#xff0c;将使用多年的 dhcpcd 换成了 NetworkManager&#xff08;以前是在rasp-config中可选&#xff09;&#xff0c;这是因为 Raspberry Pi OS 使用的是 Debian 内核&#xff08;和 Ubuntu 一样&#xff09;&#xff0c;所以树莓…

前端常用的开发工具

前端常用的开发工具&#x1f516; 文章目录 前端常用的开发工具&#x1f516;1. Snipaste--截图工具2. ScreenToGif--gif图片录制3. Typora--Markdown编辑器4. notepad--文本代码编辑器5. uTools--多功能工具6. EV录屏--录屏软件7. Xmind--思维导图8. Apifox -- 接口调试9. Tor…

Keil中文报错提示为: [-Winvalid-source-encoding]问题解决

错误提示&#xff1a; ../User/main.c(67): warning: illegal character encoding in string literal [-Winvalid-source-encoding]67 | printf("全<B2><BF><B4><AB><CA><E4><CD><EA><B3><C9…

Redis高并发缓存设计问题与性能优化

Redis高并发缓存设计问题与性能优化 缓存设计典型问题缓存穿透缓存失效(击穿)缓存雪崩热点缓存key重建优化缓存与数据库双写不一致 开发规范与性能优化一、键值设计1. key名设计2. value设计big key的危害&#xff1a;1.导致redis阻塞2.网络拥塞3. 过期删除 big key的产生&…

大白鲨生成Windows木马(仅供参考不可实践)

一、学习方法 一个正确的学习方法往往比学习更为重要 方法一&#xff1a;学习技术的本质性作用 &#xff08;第一性定律&#xff09; — 帮助我们解决的问题是什么 — 产生的原因/价值 方法二&#xff1a;在工作中到底如何使用&#xff1f; 方法三&#xff1a;技术是由人…

PyQt6 QTimer计时器控件

锋哥原创的PyQt6视频教程&#xff1a; 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计52条视频&#xff0c;包括&#xff1a;2024版 PyQt6 Python桌面开发 视频教程(无废话版…

AI日报:2024年人工智能对各行业初创企业的影响

欢迎订阅专栏 《AI日报》 获取人工智能邻域最新资讯 文章目录 2024年人工智能对初创企业的影响具体行业医疗金融服务运输与物流等 新趋势 2024年人工智能对初创企业的影响 2023年见证了人工智能在各个行业的快速采用和创新。随着我们步入2024年&#xff0c;人工智能初创公司正…

Linuxapache安装

Apache 介绍 Apache HTTP Server&#xff08;简称Apache&#xff09;是Apache软件基金会的一个开放源码的网页服务器&#xff0c;Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上&#xff0c;由于其跨平台和安全性被广泛使用&#xff0…