jQuery学习笔记之jQuery常用方法,【设计思想解读开源框架

本文详细介绍了jQuery库中的各种核心功能,包括操作类名(addClass、removeClass、toggleClass和hasClass)、修改CSS样式(css方法)、事件处理(如mouseenter、mouseleave)以及DOM元素的操作(如attr、prop)。此外,还涉及到了Vue框架的部分知识点,如响应式系统、组件通信和生命周期管理。
摘要由CSDN通过智能技术生成
    • css() 方法
  • jQuery 操作类名方法

    • addClass() 添加类名
  • removeClass() 移除类名

  • toggleClass() 类名切换

  • hasClass() 检测类名是否存在

  • jQuery 常用事件方法

    • mouseenter() 方法
  • mouseleave() 方法

  • hover() 方法

  • jQuery 关系查找方法

    • $(this) 自己
  • parent() 父级

  • children() 子级

  • siblings() 兄弟

  • 链式调用

  • jQuery 其他关系查找方法

  • 综合案例

    • 案例1:发送验证码控制按钮禁用
  • 案例2:放大镜切换项

jQuery 操作标签的内容

=============================================================================

html() 方法


html() 方法相当于原生 JS 中的 innerHTML 属性,用来获取或设置标签内部内容。方法可以传递一个参数,自定义的字符串内容。

• 获取:文本和内部标签,获取时只能获取第一个元素内部的文案

语法:jQuery对象.html();

• 设置:若设置标签时,标签会被渲染

语法:jQuery对象.html(‘文本内容’);

示例

// 获取时只能获取第一个元素内部的文案

console.log($box.html())

// 如果传递参数,批量更改元素内部的内容

$box.html(“这是一个新的内容”)

在这里插入图片描述

// 如果内部的字符串包含了标签的语法的字符,会按照 html 语法进行加载

$box.html(‘这是新增加的子级

这是段落

’)

在这里插入图片描述

text() 方法


text() 方法相当于原生 JS 中的 innerText 属性,用来获取或设置标签内部文字。

• 获取:获取标签内部的文字内容,忽略标签

语法:jQuery对象.text();

• 设置:若设置标签时,标签会被当做普通文本

语法:jQuery对象.text(‘文本内容’);

示例

// 获取,获取所有的标签内部的文字内容,忽略标签

console.log($box.text())

在这里插入图片描述

// 设置,会将书写的内容都当成普通文字,不会按照标签加载

$box.text(“普通文本

段落

”)

在这里插入图片描述

val() 方法


val() 方法相当于原生 JS 中的 value 属性,用来获取或设置表单元素内容。

• 获取:表单元素的 value 属性的值

语法:jQuery对象.val();

• 设置:表单元素的value 值

语法:jQuery对象.val(‘文本内容’);

jQuery 操作标签的属性

=============================================================================

attr() 方法


attr:全称 attribute,属性的意思。作用:用来获取或者设置标签的属性值。既可以设置或获取已规定好的属性,还可以获取设置自定义的属性

• 设置标签的属性 语法:jQuery对象.attr(name,value);

// 标签属性设置:需要传 2 个参数

$pic.attr(“src”,“images/cat2.jpg”)

$pic.attr(“hobby”,“sleep”) // 设置自定义的属性

• 获取标签属性值 语法:jQuery对象.attr(name);

// 获取标签属性的值:需要 1 个参数

console.log($pic.attr(“alt”))

console.log($pic.attr(“hobby”)) // 获取自定义的属性

removeAttr() 方法


作用:移除标签的属性

语法:removeAttr(name);

prop() 方法


针对:selected、checked、disabled 等表单元素的属性。此类属性的属性值与属性名相同。

• 获取 语法: ( ′ i n p u t ′ ) . p r o p ( ′ 属 性 名 ′ ) ; • 设 置 语 法 : (‘input’).prop(‘属性名’); • 设置 语法: (′input′).prop(′属性名′);•设置语法:(‘input’).prop(‘属性名’,值);

示例

// prop() 方法,直接操作的就是布尔值

console.log($btn.prop(“disabled”)) //禁用按钮设置,输出值为布尔值

$btn.prop(“disabled”,false) // 开启按钮

jQuery 操作样式方法

============================================================================

css() 方法


jQuery 对象有一个 css() 的方法,用于调用 css 属性值或者更改 css 属性值。

• 语法:jQuery对象.css(name,value);

• 参数1:字符串格式的 css 样式属性名

• 参数2:设置或更改的属性值。

注意:

• 一个参数:表示调用 css 属性的值,得到的是某个元素的计算后样式,值为字符串格式。

// css() 传一个参数:获取对应的属性值

console.log($box.css(“width”)) // 获取width的属性值

• 两个参数:表示设置 css 样式属性,第二个参数可以是字符串格式的属性值,如果带单位的数字的属性值,可以写成带单位的字符串格式、不带单位的字符串、纯数字、带 += 等赋值运算的字符串。

// css() 传入两个参数:设置或更改对应的属性值

$box.css(“width”,“400px”)

$box.css(“width”,“400”)

$box.css(“width”,500)

$box.css(“width”,“+=100px”) // 在原有值得基础上加上100

• css() 方法的第一个参数,复合属性的单一属性写法可以是驼峰命名法,也可以是横线写法。

console.log($box.css(“background-color”))

console.log($box.css(“backgroundColor”))

• 可以给同一个对象同时设置多条 css 属性,将多条属性的属性和属性值写成对象格式,传给 css() 的参数。

$box.css({

“width”: 200,

“height”: 300

})

jQuery 操作类名方法

============================================================================

addClass() 添加类名


•语法:jQuery对象.addClass(‘类名’)

•参数:字符串格式的类名。

removeClass() 移除类名


删除指定的类名。

• 语法:jQuery对象.removeClass();

• 参数:字符串格式的类名。不传参数,表示删除所有类名。

toggleClass() 类名切换


若这个类名存在,则会移除改类名。否则添加改类名。

• 语法:jQuery对象.toggleClass(‘类名’);

• 参数:字符串格式的类名。

示例:

Document

优点:这三个操作类名的方法只操作参数部分的类名,不影响原有的其他类名。

hasClass() 检测类名是否存在


• 语法:jQuery对象.hasClass(‘类名’);

• 返回值:true 和 false

示例: 以上一个示例的html结构为例,模拟toggleClass() 类名切换的效果

// 判断一个类名在标签中是否加载

console.log($box.hasClass(“demo”))

// 模拟一下 切换 类名的效果

$btn3.click(function () {

// 判断 box 是否有 demo 的类名

if ($box.hasClass(“demo”)) {

// 如果有 demo,就删除

$box.removeClass(“demo”)

} else {

// 如果没有 demo,就添加一个

$box.addClass(“demo”)

}

})

jQuery 常用事件方法

============================================================================

jQuery对象封装了一系列的事件方法。 事件方法与原生JS事件方法名称类似,不需要写 on,需要jQuery对象打点调用,小括号内的参数是事件函数。

例如点击事件:click()方法。

mouseenter() 方法


鼠标进入一个元素触发的事件。

$box.mouseenter(function () {

// 鼠标进入元素,触发事件

console.log(“box-mouse-in”)

})

mouseleave() 方法


鼠标离开一个元素触发的事件。

$box.mouseleave(function () {

// 鼠标离开元素,触发事件

console.log(“box-mouse-out”)

})

对比:mouseenter 和 mouseleave 没有事件冒泡。mouseover 和 mouseout有事件冒泡。

示例:

Document

输出结果:

点击粉色背景时,输出

在这里插入图片描述

点击绿色背景时,输出 :box-mouse-out

在div元素外面点击时,只输出:parents-mouse-out

mouseover 和 mouseout的示例:

// mouseover 和 mouseout :有事件冒泡

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

Vue 面试题

1.Vue 双向绑定原理
2.描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
3.你是如何理解 Vue 的响应式系统的?
4.虚拟 DOM 实现原理
5.既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?
6.Vue 中 key 值的作用?
7.Vue 的生命周期
8.Vue 组件间通信有哪些方式?
9.watch、methods 和 computed 的区别?
10.vue 中怎么重置 data?
11.组件中写 name 选项有什么作用?
12.vue-router 有哪些钩子函数?
13.route 和 router 的区别是什么?
14.说一下 Vue 和 React 的认识,做一个简单的对比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪几种属性?
17.vue 首屏加载优化
18.Vue 3.0 有没有过了解?
19.vue-cli 替我们做了哪些工作?

算法

  1. 冒泡排序
  2. 选择排序
  3. 快速排序
  4. 二叉树查找: 最大值、最小值、固定值
  5. 二叉树遍历
  6. 二叉树的最大深度
  7. 给予链表中的任一节点,把它删除掉
  8. 链表倒叙
  9. 如何判断一个单链表有环
  10. 给定一个有序数组,找出两个数相加为一个目标数

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+评论666

vue 从初始化页面–修改数据–刷新页面 UI 的过程?
3.你是如何理解 Vue 的响应式系统的?
4.虚拟 DOM 实现原理
5.既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?
6.Vue 中 key 值的作用?
7.Vue 的生命周期
8.Vue 组件间通信有哪些方式?
9.watch、methods 和 computed 的区别?
10.vue 中怎么重置 data?
11.组件中写 name 选项有什么作用?
12.vue-router 有哪些钩子函数?
13.route 和 router 的区别是什么?
14.说一下 Vue 和 React 的认识,做一个简单的对比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪几种属性?
17.vue 首屏加载优化
18.Vue 3.0 有没有过了解?
19.vue-cli 替我们做了哪些工作?

[外链图片转存中…(img-PCd8fmdK-1711961532170)]

算法

  1. 冒泡排序
  2. 选择排序
  3. 快速排序
  4. 二叉树查找: 最大值、最小值、固定值
  5. 二叉树遍历
  6. 二叉树的最大深度
  7. 给予链表中的任一节点,把它删除掉
  8. 链表倒叙
  9. 如何判断一个单链表有环
  10. 给定一个有序数组,找出两个数相加为一个目标数

    [外链图片转存中…(img-zESLwGJH-1711961532170)]

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+评论666

  • 14
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值