jQuery

1. 介绍

jQuery是JavaScript的工具库,对原生JavaScript中的DOM操作、事件处理、数据处理等进行封装,提供更便捷的方法。

让我们用更少的代码完成我们的js操作 类似于python当中的模块

jQuery有很多个版本.不一定越新越好.可能有的时候用到的都是旧版本的代码,这时候可以不引入新版本

2. 引入

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

https://www.bootcdn.cn/

https://jquery.cuishifeng.cn/

3. 工厂函数 - $()

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

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

  • 原生JavaScript转换jQuery对象

    $(原生对象),返回 jQuery 对象

  • jQuery对象转换原生JavaScript对象

    方法一 : 根据下标取元素,取出即为原生对象

    var div = $("div")[0];

    方法二 : 使用jQuery的get(index)取原生对象

    var div2 = $("div").get(0);

4. jQuery获取元素

  • 基础选择器

    标签选择器:$("div")
    ID 选择器:$("#d1")
    类选择器:$(".c1")
    群组选择器:$("body,p,h1")
  • 层级选择器

    后代选择器: $("div .c1")
    子代选择器: $("div>span")
    相邻兄弟选择器: $("h1+p") 匹配选择器1后的第一个兄弟元素,同时要求兄弟元素满足选择器2
    通用兄弟选择器: $("h1~h2") 匹配选择器1后所有满足选择器2的兄弟元素
  • 过滤选择器,需要结合其他选择器使用。

    对象:first
    匹配第一个元素 例:$("p:first")
    :last
    匹配最后一个元素 例:$("p:last")
    :odd
    匹配奇数下标对应的元素
    :even
    匹配偶数下标对应的元素
    :eq(index)
    匹配指定下标的元素
    :lt(index)
    匹配下标小于index的元素
    :gt(index)
    匹配下标大于index的元素
    :not(选择器)
    否定筛选,除()中选择器外,其他元素

5. 操作元素内容

html() //设置或读取标签内容,等价于原生innerHTML,可识别标签语法
text() //设置或读取标签内容,等价于innerText,不能识别标签
val() //设置或读取表单元素的值,等价于原生value属性

6. 操作标签属性

  • attr("attrName","value")

    设置或读取标签属性

  • prop("attrName","value")

    设置或读取标签属性

    注意 :在设置或读取元素属性时,attr()和prop()基本没有区别;但是在读取或设置表单元素(按钮)的选中状态时,必须用prop()方法,attr()不会监听按钮选中状态的改变,只看标签属性checked是否书写

  • removeAttr("attrName")

    移除指定属性

7. 操作标签样式

  1. 为元素添加id/class属性,对应选择器样式
  2. 针对类选择器,提供操作class属性值的方法
addClass("className")	//添加指定的类名
removeClass("className")//移除指定的类型,如果参数省略,表示清空class属性值
toggleClass("className")//结合用户行为,实现动态切换类名.如果当前元素存在指定类名,则移除;不存在则添加
  1. 操作行内样式
css("属性名","属性值")  //设置行内样式

8. 元素的创建,添加,删除

  1. 创建:使用$("标签语法"),返回创建好的元素
var div = $("<div></div>");	//创建元素
div.html("动态创建").attr("id","d1").css("color","red"); //链式调用,设置内容和属性
var h1 = $("<h1 id='d1'>一级标题</h1>"); //创建的同时设置内容,属性和样式
  1. 作为子元素添加
$obj.append(newObj);	//在$obj的末尾添加子元素newObj
$obj.prepend(newObj); //作为第一个子元素添加至$obj中
  1. 作为兄弟元素添加
$obj.after(newObj);		//在$obj的后面添加兄弟元素
$obj.before(newObj); //在$obj的前面添加兄弟元素
  1. 移除元素
$obj.remove();	//移除$obj

9. 动画效果

  1. 显示和隐藏

    show(speed,callback)/hide(speed,callback)
    • speed可选。规定元素从隐藏到完全可见的速度。默认为 "0"。
    • callback 可选。show 函数执行完之后,要执行的函数
  2. 下拉和上推效果,显示隐藏的被选元素( 只针对块元素

    slideDown(speed,callback)/slideUp(speed,callback)
  3. 通过使用淡隐淡现方式显示效果,显示隐藏的被选元素

    fadeOut(speed,callback)/fadeIn(speed,callback)

10. 数据与对象遍历

  1. $(selector).each() 方法规定为每个匹配元素规定运行的函数

    $(selector).each(function(index,element){})

    必需。为每个匹配元素规定运行的函数。

    • index - 选择器的 index 位置
    • element - 当前的元素
  2. $.each()函数是框架提供的一个工具类函数,通过它,你可以遍历对象、数组的属性值并进行处理

    $.each(Object, function(index, data){});

    必需。为每个匹配元素规定运行的函数。

    • index - 选择器的 index 位置
    • data- 当前的数据

学习jQuery核心内容这一篇就够了的更多相关文章

  1. vue - vue基础/vue核心内容(终结篇)

    今天是vue基础.vue核心内容第三天,也是最后一天,后面开始进入组件化学习,整个基础内容以生命周期的结束而结束,不得不说,张天禹把这节课讲活了,开始觉得vue是一个有生命的东西,包括前面所说的很多脏 ...

  2. 深入学习jQuery选择器系列第五篇——过滤选择器之内容选择器

    × 目录 [1]contains [2]empty [3]parent[4]has[5]not[6]header[7]lang[8]root 前面的话 本文介绍过滤选择器中的内容选择器.内容选择器的过 ...

  3. 深入学习jQuery选择器系列第八篇——过滤选择器之伪子元素选择器

    × 目录 [1]通用形式 [2]反向形式 [3]首尾元素 [4]唯一元素 前面的话 本文是子元素选择器的续篇,主要介绍关于nth-of-type()选择器的内容.该部分内容并非没有出现在<锋利的 ...

  4. 深入学习jQuery选择器系列第四篇——过滤选择器之属性选择器

    × 目录 [1]简单属性 [2]具体属性 [3]条件属性 前面的话 属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素,对应于CSS中的属性选择器.属性过滤选择器可分为简单属性选择器.具体属性选 ...

  5. 深入学习jQuery选择器系列第三篇——过滤选择器之索引选择器

    × 目录 [1]通用形式 [2]首尾索引 [3]奇偶索引[4]范围索引 前面的话 上一篇介绍了过滤选择器中的子元素选择器部分,本文开始介绍极易与之混淆的索引选择器 通用形式 $(':eq(index) ...

  6. 深入学习jQuery选择器系列第七篇——表单选择器

    × 目录 [1]表单元素 [2]对象属性 前面的话 无论是提交还是传递数据,表单元素在动态交互页面的作用是非常重要的.jQuery专门加入了表单选择器,从而能够极其方便地获取到某个类型的表单元素 表单 ...

  7. 深入学习jQuery选择器系列第六篇——过滤选择器之状态选择器

    × 目录 [1]焦点状态 [2]哈希状态 [3]动画状态[4]显隐状态 前面的话 过滤选择器的内容非常多,本文介绍过滤选择器的最后一部分——状态选择器 焦点状态 :focus :focus选择器选择当 ...

  8. jQuery入门看这一篇就够了

    一.选择器 1.基本 名称 用法 描述 #id $("#myDiv"); 根据给定的ID匹配一个元素 element $("div"); 根据给定的元素标签名匹 ...

  9. 学习Java JDBC,看这篇就够了

    JDBC (Java DB Connection)---Java数据库连接 JDBC是一种可用于运行SQL语句的JAVA API(ApplicationProgramming Interface应用程 ...

  10. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

随机推荐

  1. 【迭代器设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

    简介 迭代器模式(Iterator Pattern),是一种结构型设计模式.给数据对象构建一套按顺序访问集合对象元素的方式,而不需要知道数据对象的底层表示. 迭代器模式是与集合共存的,我们只要实现一个 ...

  2. Golang网络编程: DNS子域名爆破

    域名系统(Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.这就如同一个地址簿,根据域名来指向IP地 ...

  3. ROS2的安装与使用(超详细图文教程)

    ROS2的安装与使用(超详细图文教程) 如果前面的虚拟机以及Ubuntu22.04镜像都安装好了,根据目录直接跳到ROS2的安装. 资料参考于:古月居 VMware虚拟机的安装 安装地址: 对于不了解 ...

  4. javasec(五)URLDNS反序列化分析

    这篇文章介绍 URLDNS 就是ysoserial中⼀个利⽤链的名字,但准确来说,这个其实不能称作"利⽤链".因为其参数不是⼀个可以"利⽤"的命令,⽽仅为⼀个U ...

  5. Centos 安装 python3.x 为默认

    CentOS 7 中默认安装了 Python,但是版本是2.x的,由于2020年python2.x将停止更新,因此需要将版本升级至3.x.但由于python2.x是系统集成的,很多命令都是要基于pyt ...

  6. Vue中使用Echarts 脱坑

    1. 数据问题,不像官方实例所提供的数据直接写在options对应的数据源里,开发中应当是后端接口请求过来的数据,一般来说,会将echarts图标抽成组件的形式,需要的数据源通过父组件传给子组件,但是 ...

  7. [C++提高编程] 2、STL初识

    文章目录 2 STL初识 2.1 STL的诞生 2.2 STL基本概念 2.3 STL六大组件 2.4 STL中容器.算法.迭代器 2.5 容器算法迭代器初识 2.5.1 vector存放内置数据类型 ...

  8. 知乎问题:如何说服技术老大用 Redis ?

    这个问题很微妙,可能这位同学内心深处,觉得 Redis 是所有应用缓存的标配. 缓存的世界很广阔,对于应用系统来讲,我们经常将缓存划分为本地缓存和分布式缓存. 本地缓存 :应用中的缓存组件,缓存组件和 ...

  9. 解决 Python 的字符串 center ljust rjust 在面对中文时的 bug

    方法一:修改内置 str 的方法,能更灵活的定制,更准确地判断 CJK 字符,全局有效.甚至还能把转义序列也兼容了. def modify_str(): import gc, ctypes def c ...

  10. 2022-03-11:int n, int[][] roads, int x, int y, n表示城市数量,城市编号0~n-1, roads[i][j] == distance,表示城市i到城市j距

    2022-03-11:int n, int[][] roads, int x, int y, n表示城市数量,城市编号0~n-1, roads[i][j] == distance,表示城市i到城市j距 ...