【JavaWeb】 JavaScript 开发利器之 jQuery

news2024/11/23 18:25:24

🎄欢迎来到@边境矢梦°的csdn博文,本文主要讲解Java 中JavaScript 开发利器之 jQuery的相关知识🎄


🌈我是边境矢梦°,一个正在为秋招和算法竞赛做准备的学生🌈
🎆喜欢的朋友可以关注一下🫰🫰🫰,下次更新不迷路🎆

Ps: 月亮越亮说明知识点越重要 (重要性或者难度越大)🌑🌒🌓🌔🌕  

目录

 前言

一. JQuery是什么

介绍

原理

作用

二. jQuery 对象和 DOM 对象

什么是 jQuery 对象

DOM 对象转成 jQuery 对象

jQuery 对象转成 DOM 对象

三. jQuery 选择器

1 jQuery 选择器介绍

2 基本选择器

3 层次选择器

4 基础过滤选择器

5 内容过滤选择器

6 可见度过滤选择器

7 属性过滤选择器

 8 子元素过滤选择器

9 表单属性过滤选择器

10 表单选择器

四. jQuery 的 DOM 操作

1. 查找节点, 修改属性

2. 创建节点(形容词和动词)

 3. 删除节点

4. 复制节点

5. 替换节点

6. 属性操作

7. 样式操作

8. 获取 HTML, 文本和值

 9. 常用遍历节点方法

 10. CSS-DOM 操作加强


 前言

一个简洁的js库

WRITE LESS,DO MORE , 写更少的代码 , 做更多的事情
jQuery是一个JavaScript库, vue是一个框架, 前者更灵活


一. JQuery是什么

介绍

1. jQuery 是一个快速的,简洁的 javaScript 库,使用户能更方便地处理 HTML,css,dom...
2. 提供方法、 events 、选择器,并且方便地为网站提供 AJAX 交互
3. 其宗旨是 WRITE LESS,DO MORE , 写更少的代码 , 做更多的事情 .
4. jQuery 实现了浏览器的兼容问题

原理

jQuery库的编写原理主要是通过封装和扩展JavaScript语言的功能和API来实现的。

具体来说,jQuery库的编写原理包括以下几个方面:

  1. 封装和抽象:jQuery库封装了一系列常见的DOM操作、事件处理、Ajax请求等功能,以简化开发人员的工作。它对底层的JavaScript操作进行了封装和抽象,提供了更简洁、易用的接口。

  2. 选择器引擎:jQuery库通过自定义的选择器引擎,可以使用CSS选择器来选择HTML元素。这使得开发人员能够方便地操作DOM元素,而不需要繁琐地编写原生的JavaScript代码。

  3. 链式调用:jQuery库采用链式调用的设计模式,使得可以对选择的元素进行连续的操作。通过返回相同的jQuery对象,可以在同一行代码中依次调用多个方法,提高开发效率和代码可读性。

  4. 跨浏览器兼容性:jQuery库在底层实现上考虑了不同浏览器之间的差异,尽可能提供一致的操作体验。它对浏览器的特性和兼容性进行了封装和处理,屏蔽了底层差异,使开发人员能够更方便地编写跨浏览器兼容的代码。

作用

作用上,jQuery库主要有以下几个方面:

  1. 简化DOM操作:jQuery提供了丰富的DOM操作方法,可以快速地选取、操作和修改页面中的元素,简化了复杂的DOM操作过程。

  2. 方便的事件处理:jQuery提供了统一的事件处理机制,可以方便地绑定、触发和处理各种事件,使得开发人员能够更加灵活地响应用户的操作。

  3. 强大的Ajax支持:jQuery封装了对AJAX的操作,使得发送和接收异步请求更加简单,支持各种数据格式的传输,并提供了回调函数来处理请求的结果。

  4. 动画效果和特效:jQuery提供了丰富的动画和特效效果,可以对元素进行平滑的动画过渡、淡入淡出以及其他各种效果的控制。


二. jQuery 对象和 DOM 对象

什么是 jQuery 对象

1. jQuery 对象就是对 DOM 对象进行包装后产生的对象
比如: $("#test").html() 意思是指:获取 ID test 的元素内的 html 代码。其中 html() jQuery 里的方法
这段代码等同于用 DOM 实现代码: document.getElementById("id").innerHTML;
2. jQuery 对象是 jQuery 独有的 . 如果一个对象是 jQuery 对象 , 那么它就可以使用 jQuery 里的方法 : $("#id").html();
3. 约定 :如果获取的是 jQuery 对象 , 那么要在变量前面加上 $ , 比如 : var $variable =  jQuery 对象 var variable = DOM 对象
var $variable jQuery 对象
var variable DOM 对象

DOM 对象转成 jQuery 对象

1. 对于一个 DOM 对象,只需要用 $() DOM 对象包装起来,就可以获得一个 jQuery 对象 了。 $(DOM 对象)
2. DOM 对象转换成 JQuery 对象后,就可以使用 jQuery 的方法了

jQuery 对象转成 DOM 对象

1. 两种转换方式将一个 jQuery 对象转换成 DOM 对象: [index] .get(index);
2. jQuery 对象是一个数组对象 ,可以通过 [index] 的方法,来得到相应的 DOM 对象
3. jQuery 本身提供,通过 .get(index) 方法,得到相应的 DOM 对象
4.下标->位置 用于获取指定索引位置的元素。

三. jQuery 选择器

1 jQuery 选择器介绍

1.1. 选择器是 jQuery 的核心 , jQuery , 对事件处理 , 遍历 DOM Ajax 操作都依赖 于选择器
1.2. jQuery 选择器的优点
  简洁的写法
$("#id")   等价于   document.getElementById("id");
$("tagName")   等价于    document.getElementsByTagName("tagName");
  完善的事件处理机制

2 基本选择器

基本选择器是 jQuery 中最常用的选择器 , 也是最简单的选择器 , 它通过元素 id, class 和标签名 来查找 DOM 元素
1 #id 用法 : $("#myDiv"); 返回值 单个元素的组成的集合
        说明: 这个就是直接选择 html 中的 id=”myDiv”
2 Element 用法 : $("div") 返回值 集合元素
        说明: element 的英文翻译过来是 元素 ” , 所以 element 其实就是 html 已经定义的标签 元素 , 例如 div, input, a 等等 .
3 class 用法 : $(".myClass") 返回值 集合元素
        说明: 这个标签是直接选择 html 代码中 class=”myClass” 的元素或元素组 ( 因为在同一 html 页面中 class 是可以存在多个同样值的 ).
4 * 用法 : $("*") 返回值 集合元素
        说明: 匹配所有元素 , 多用于结合上下文来搜索
5 selector1, selector2, selectorN 用法 : $("div,span,p.myClass") 返回值 集合元素
        说明: 将每一个选择器匹配到的元素合并后一起返回 . 你可以指定任意多个选择器 , 将匹配到的元素合并到一个结果内 . 其中p .myClass 是表示匹配元素 p class=”myClass”

3 层次选择器

如果想通过 DOM 元素之间的 层次关系 来获取特定元素 , 例如 后代元素, 子元素, 相邻 元素, 兄弟元素等 , 则需要使用层次选择器 .
1 ancestor descendant 用法 : $(”form input”) ; 返回值 集合元素
        说明: 在给定的祖先元素下匹配所有 后代元素 . 这个要下面讲的 ”parent > child” 区分
2 parent > child 用法 : $(”form > input”) ; 返回值 集合元素
        说明: 在给定的父元素下匹配所有 子元素 . 注意 : 要区分好后代元素与子元素
3 prev + next 用法 : $(”label + input”) ; 返回值 集合元素
        说明: 匹配所有 紧接在 prev 元素后的 next 元素
4 prev ~ siblings 用法 : $(”form ~ input”) ; 返回值 集合元素
        说明: 匹配 prev 元素之后的所有 siblings 元素 . 注意 : 是匹配之后的元素,不包含该元素在内 , 并且 siblings 匹配的是和 prev 同辈的元素 , 其后辈元素不被匹配 .

4 基础过滤选择器

1 :first 用法 : $("tr:first") ; 返回值 单个元素的组成的集合
        说明: 匹配找到的第一个元素
2 :last 用法 : $("tr:last") 返回值 集合元素
        说明: 匹配找到的最后一个元素 . :first 相对应 .
3 :not(selector) 用法 : $(" input:not(:checked) ") 返回值 集合元素
        说明: 去除所有与给定选择器匹配的元素 . 有点类似于 ” , 意思是没有被选中的 input( input type="checkbox").
4 :even 用法 : $("tr:even") 返回值 集合元素
        说明: 匹配 所有索引值为偶数的元素 ,从 0 开始计数 .js 的数组都是从 0 开始计数的 . 例如要选择 table 中的行 , 因为是从 0 开始计数 , 所          以 table 中的第一个 tr 就为偶数 0.
5 : odd 用法 : $("tr:odd") 返回值 集合元素
        说明: 匹配 所有索引值为奇数的元素 , :even 对应 , 0 开始计数 .
6 :eq(index) 用法 : $("tr:eq(0)") 返回值 集合元素
        说明: 匹配一个给定索引值的元素 .eq(0) 就是获取第一个 tr 元素 . 括号里面的是索引值 , 不是元素排列数 .
7 :gt(index) 用法 : $("tr:gt(0)") 返回值 集合元素
        说明: 匹配所有大于给定索引值的元素 .
8 :lt(index) 用法 : $("tr:lt(2)") 返回值 集合元素
        说明: 匹配所有小于给定索引值的元素.
9 :header ( 固定写法 ) 用法 : $(":header").css("background", "#EEE") 返回值 集合元素
        说明: 匹配如 h1, h2, h3 之类的标题元素 . 这个是专门用来获取 h1,h2 这样的标题元 .
10 :animated ( 固定写法 ) 返回值 集合元素
        说明: 匹配所有正在执行动画效果的元素

5 内容过滤选择器

内容过滤选择器的过滤规则主要体现在它所包含的 子元素和文本内容上
1 :contains(text) 用法 : $("div:contains('John')") 返回值 集合元素
        说明: 匹配包含给定文本的元素 . 这个选择器比较有用,当我们要选择的不是 dom 标签 元素时 , 它就派上了用场了 , 它的作用是查找被标签 " " 起来的文本内容是否符合指定的内 容的 .
2 :empty 用法 : $("td:empty") 返回值 集合元素
        说明: 匹配所有不包含子元素或者文本的空元素
3 :has(selector) 用法 : $("div:has(p)").addClass("test") 返回值 集合元素
        说明: 匹配含有选择器所匹配的元素的元素 . 这个解释需要好好琢磨 , 但是一旦看了使 用的例子就完全清楚了 : 给所有包含 p 元素的 div 标签 加上 class="test".
4 :parent 用法 : $("td:parent") 返回值 集合元素
        说明: 匹配含有子元素或者文本的元素. 注意 : 这里是 ":parent", 可不是 ".parent", 与上 面讲的 ":empty" 形成反义词 .

6 可见度过滤选择器

可见度过滤选择器是根据元素的可见和不可见状态来选择相应的元素

1 :hidden 用法 : $("tr:hidden") 返回值 集合元素 (下面表单选择器也有提)
        说明: 匹配 所有的不可见元素 input 元素的 type 属性为 "hidden" 的话也会被匹 配到 . 意思是 css display:none 和 input         type="hidden"的都会被匹配到
2 :visible 用法 : $("tr:visible") 返回值 集合元素

        说明: 匹配所有的可见元素.


7 属性过滤选择器

属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素
1 [attribute] 用法 : $("div[id]") ; 返回值 集合元素
        说明: 匹配包含给定属性的元素 .
        例子中是选取了所有带 "id" 属性的 div 标签 .
2 [attribute=value] 用法 : $("input[name='newsletter']").attr("checked", true); 返回 值 集合元素
        说明: 匹配 给定的属性是某个特定值 的元素 .
        例子中选取了所有 name 属性是 newsletter input 元素 .
3 [attribute!=value] 用法 : $("input[name!='newsletter']").attr("checked", true); 回值 集合元素
        说明: 匹配所有不含有指定的属性,或者属性不等于特定值的元素 . 此选择器 等价于 :not([attr=value]), 要 匹 配 含 有 特 定 属 性 但 不         等 于 特 定 值 的 元 素 , 请 使 用 [attr]:not([attr=value]). 可见 之前看到的 :not 派上了用场 .
4 [attribute^=value] 用法 : $("input[name^='news']") 返回值 集合元素
        说明: 匹配给定的属性是以某些值开始的元素
5 [attribute$=value] 用法 : $("input[name$='letter']") 返回值 集合元素
        说明: 匹配给定的属性是以某些值结尾的元素 .
6 [attribute*=value] 用法 : $("input[name*='man']") 返回值 集合元素
        说明: 匹配给定的属性是以 包含某些值 的元素 .
        
7 [attributeFilter1][attributeFilter2][attributeFilterN] 用法 : $("input[id][name$='man']") 回值 集合元素
        说明: 复合属性选择器 , 需要 同时满足多个条件 时使用 . 是一个组合
        这个例子中选择 的是所有含有 id 属性 , 并且它的 name 属性是以         man 结尾的元素 .
​​

 8 子元素过滤选择器

子元素过滤选择器基本介绍
1 :nth-child(index/even/odd/equation) 用法 : $("ul li:nth-child(2)") 返回值 集合元
        说明: 匹配其父元素下的第 N 个子或奇偶元素 . 这个选择器和之前说的基础过滤 (Basic Filters) 中的 eq() 有些类似 , 不同的地方就是前            者是从 0 开始 , 后者是从 1 开始 .
        nth-child() 选择器详解如下:
                (1) :nth-child(even/odd): 能选取每个父元素下的索引值为偶 ( ) 数的元素
                (2):nth-child(2): 能选取每个父元素下的索引值为 2 的元素
                (3):nth-child(3n): 能选取每个父元素下的索引值是 3 的倍数 的元素
                (4):nth-child(3n + 1): 能选取每个父元素下的索引值是 3n + 1 的元素
2 :first-child 用法 : $("ul li:first-child") 返回值 集合元素
        说明: 匹配第一个子元素 .':first' 只匹配一个元素 , 而此选择符将为每个父元素匹配 一个子元素 . 这里需要特别点的记忆下区别 .
3 :last-child 用法 : $("ul li:last-child") 返回值 集合元素
        说明: 匹配最后一个子元素 .':last' 只匹配一个元素 , 而此选择符将为每个父元素匹配 一个子元素 .
4 : only-child 用法 : $("ul li:only-child") 返回值 集合元素
        说明: 如果某个元素是父元素中唯一的子元素 , 那将会被匹配 . 如果父元素中含有其 他元素 , 那将不会被匹配 . 意思就是 : 只有一个子元素的          才会被匹配 !

9 表单属性过滤选择器

此选择器主要对所选择的表单元素进行过滤
1 :enabled 用法 : $("input:enabled") 返回值 集合元素
        说明: 匹配所有可用元素 . 意思是查找所有 input 中不带有 disabled="disabled" input. 不为 disabled, 当然就为 enabled .
2 :disabled 用法 : $("input:disabled") 返回值 集合元素
        说明: 匹配所有不可用元素 . 与上面的那个是相对应的 .
3 :checked 用法 : $("input:checked") 返回值 集合元素
        说明: 匹配所有选中的被选中元素 ( 复选框、单选框等,不包括 select 中的 option).
4 :selected 用法 : $("select option:selected") 返回值 集合元素
        说明: 匹配所有选中的 option 元素 .

10 表单选择器

表单选择器基本介绍
1 :input 用法 : $(":input") ; 返回值 集合元素
        说明: 匹配所有 input, textarea, select button 元素
2 :text 用法 : $(":text") ; 返回值 集合元素
        说明: 匹配所有的单行文本框 .
3 :password 用法 : $(":password") ; 返回值 集合元素
        说明: 匹配所有密码框 .
4 :radio 用法 : $(":radio") ; 返回值 集合元素

        说明: 匹配所有单选按钮.

5 :checkbox 用法 : $(":checkbox") ; 返回值 集合元素
        说明: 匹配所有复选框
6 :submit 用法 : $(":submit") ; 返回值 集合元素
        说明: 匹配所有提交按钮 .
7 :image 用法 : $(":image") 返回值 集合元素
说明 : 匹配所有图像域 .
8 :reset 用法 : $(":reset") ; 返回值 集合元素
        说明: 匹配所有重置按钮 .
9 :button 用法 : $(":button") ; 返回值 集合元素
        说明: 匹配所有按钮.这个包括直接写的元素 button.
10 :file 用法 : $(":file") ; 返回值 集合元素
        说明: 匹配所有文件域 .
        
11 :hidden 用法 : $("input:hidden") ; 返回值 集合元素
        说明: 匹配所有不可见元素,或者 type 为 hidden 的元素 . 这个选择器就不仅限于表单 , 除了匹配 input 中的 hidden , 那些 style hidden 的也会被匹配 .
        注意 : 要选取 input 中为 hidden 值的方法就是上面例子的用法 ,但是直接使用":hidden" 的话就是匹配页面中所有的不可见元素 , 包括宽度或高度为 0

四. jQuery DOM 操作

1. 查找节点, 修改属性

        查找属性节点: 查找到所需要的元素之后 , 可以 调用 jQuery 对象的 attr() 方法来获取它的各种属性值

        利用 jQuery 选择器查找到需要的元素之后,就可以使用 attr()方法来获取它的各种属性的值。attr() 方法的参数可以是一个,也可以是两个。当参数是一个时,则是要查询的属性的名字,比如:

//获取<p>节点
var $para = $("p");

//获取<p>元素节点属性title
var p_txt = $para.attr("title"); 

//打印title属性值
alert(p_txt); 

当参数是两个时,则是设置某个属性的值,比如:

$(document).ready(function(){
    
    // 更改图像的来源路径,使其显示位于 "../image/1.png" 的图像文件
    $("img").attr("src", "../image/1.png");
    
    // 更改图像在页面上的高度,将其调整为指定的像素大小。
    $("img").attr("height", "200");

}

2. 创建节点(形容词和动词)

创建节点介绍
1. 创建节点 : 使用 jQuery 的工厂函数 $(): $(html 标签 ); 会根据传入的 html 标记字符串 创建一个 jQuery 对象 , 并返回 .
2. 动态创建的新元素节点不会被自动 添加到文档 , 而是需要使用其他方法将其插入到 文档中 ;
3. 当创建单个元素时 , 需注意闭合标签和使用标准的 XHTML 格式 . 例如创建一个 <p> , 可以使用 $("<p/>") $("<p></p>"), 但不能使用 $("<p>") $("</P>")
4. 创建文本节点就是在创建元素节点时直接把文本内容写出来 ; 创建属性节点也是在创建元素节点时一起创建

1 组方法(内部插入法)

1.append(content) : 向每个匹配的元素的内部的结尾处追加内容
        举例 A.append(B)
           [解读 (1) A, B 都是 jquery 对象 , (2) 表示把 B 对象插入到 A 对象内部的结尾处 (3) 结果 : B 对象成为 A 对象的子元素 / 节点 ]
2.appendTo(content) : 将每个匹配的元素追加到指定的元素中的内部结尾处
        举例 A.appendTo(B)
           [解读 (1) A, B 都是 jquery 对象 (2) 表示把 A 对象 插入到 B 对象内部 结尾处 (3) 结果是 A 对象成为 B 对象的子元素 / 节点 ]
3.prepend(content): 向每个匹配的元素的内部的开始处插入内容
        举例说明 A.prepend(B)
           [解读 (1) A, B 都是 jquery 对象 , (2) 表示把 B 对象插入到 A 对象内部的开始处 , (3) B 成为 A 的子元素 / 节点 ]
4.prependTo(content) : 将每个匹配的元素插入到指定的元素内部的  
        举例说明 A.prependTo(B)
           [解读(1) A, B 都是 jquery 对象 (2) 表示把 A 对象插入到 B 对象内部的 开始处 (3) 结果 A 成为 B 的子元素 / 节点 ]
5. 说明 : 内部插入法是在 元素内插入内容 ( 该内容变成该元素的子元素或节点 )

2 组方法(外部插入法)

1.after(content) : 在每个匹配的元素之后插入内容
        举例说明 A.after(B)
           [解读 (1) A, B 都是 jquery 对象 (2) 表示 B 对象插入到 A 对象后面 (3) 结果 :B 成为 A 的兄弟节点 ]
2.before(content): 在每个匹配的元素之前插入内容  
        举例 A.before(B)
           [解读 (1)A, B  都是 jquery 对象 (2) 表示 B 对象插入到 A 对象前面 (3) 结果是 B 成为 A 的兄弟节点,并且 A 的前面 ]
3.insertAfter(content): 把所有匹配的元素插入到另一个、指定的元素元素集合的后面  
        举 例说明 A.insertAfter(B)
           [解读(1) A, B 都是 jquery 对象 (2) 表示把 A 对象插入到 B 象的后面 (3) 结果: A 成为 B 的后一个兄弟节点 ]
4.insertBefore(content) : 把所有匹配的元素插入到另一个、指定的元素元素集合的前面  
        举例 A.insertBefore(B) 
           [解读 (1) A, B都是 jquery 对象 (2) 表示把 A 对象插入到 B 对象的 前面 (3) 结果是 A 成为 B 的前一个兄弟 ]
5. 说明 : 外部插入法是在元素的外面插入内容 ( 其内容变成元素的兄弟节点 )
6. 注意 : 以上方法不但能将新的 DOM 元素插入到文档中 , 也能对原有的 DOM 元素进 行移动 ( 可以完成很多需求 .).

 3. 删除节点

删除节点介绍
  • remove(): 从 DOM 中删除所有匹配的元素, 传入的参数用于根据 jQuery 表达式来筛选元素. 当某个节点用 remove() 方法删除后, 该节点所包含的所有后代节点将被同时删除. 这个方法的返回值是一个指向已被删除的节点的引用.
  • empty(): 清空节点 清空元素中的所有后代节点(不包含属性节点).

4. 复制节点

复制节点介绍
1 clone(): 克隆匹配的 DOM 元素 , 返回值为克隆后的副本 . 但此时复制的新节点不具有 任何行为 .
2 clone(true): 复制元素的同时也复制元素中的的事件

5. 替换节点

替换节点介绍
1.replaceWith(): 将所有匹配的元素都替换为指定的 HTML DOM/juqery 元素 A.replaceWith(B)
2.replaceAll(): 颠倒了的 replaceWith() 方法 .A.replaceAll(B)
3. 注意 : 若在替换之前 , 已经在元素上绑定了事件 , 替换后原先绑定的事件会与原先的元 素一起消失

6. 属性操作

属性操作介绍 / 参考文档讲解即可
1.attr(): 获取属性和设置属性
2.attr() 传递一个参数时 , 即为某元素的获取指定属性
3.attr() 传递两个参数时 , 即为某元素设置指定属性的值
4.jQuery 中有很多方法都是一个函数实现获取和设置 . : attr(), html(), text(), val() , height(), width(), css() , 后面我们还会举例说明 .
5.removeAttr(): 删除指定元素的指定属性

7. 样式操作

样式操作介绍
1. 获取 class 和设置 class : class 是元素的一个属性 , 所以获取 class 和设置 class 都可 以使用 attr() 方法来完成 .
2. 追加样式 : addClass()
3. 移除样式 : removeClass() --- 从匹配的元素中删除全部或指定的 class
4. 切换样式 : toggleClass() --- 控制样式上的重复切换 . 如果类名存在则删除它 , 如果类名 不存在则添加它 .
5. 判断是否含有某个样式 : hasClass() --- 判断元素中是否含有某个 class, 如果有 , 则返回 true; 否则返回 false

8. 获取 HTML, 文本和值

基本介绍
1 、设置或返回所选元素的内容(包括 HTML 标记) : html()
2 、读取和设置某个元素中的文本内容 : text(). 该方法既可以用于 HTML 也可以用于 XML 文档 .
3 、读取和设置某个元素中的值 : val() --- 该方法类似 JavaScript 中的 value 属性 . 对于文 本框 , 下拉列表框 , 单选框该方法可返回元素的值

 9. 常用遍历节点方法

常用遍历节点方法
1 、取得匹配元素的所有子元素组成的集合 : children(). 该方法只考虑子元素而不考虑任何 后代元素 .
2 、取得匹配元素后面的同辈元素的集合 :next()/nextAll();
3 、取得匹配元素前面的同辈元素的集合 :prev()/prevAll();
4 、取得匹配元素前后所有的同辈元素 : siblings()
5 、获取指定的第几个元素 : nextAll().eq(index)
6 、对获取到的同辈元素进行过滤 nextAll().filter(" 标签 ")

 10. CSS-DOM 操作加强

1 、获取和设置元素的样式属性 : css()
2 、获取和设置元素透明度 : opacity 属性
3 、获取和设置元素高度 , 宽度 : height(), width(). 在设置值时 , 若只传递数字 , 则默认单位 px. 如需要使用其他单位则需传递一个字符串 , 例如 $("p:first").height("2em");
4 、获取元素在当前视窗中的相对位移 : offset(). 其返回对象包含了两个属性 : top, left. 该方 法只对可见元素有效

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT信号与槽的理解

文章目录 信号与槽的理解 信号与槽的理解 信号就是事件&#xff0c;比如button被点击的事件&#xff0c;ComboBox选项改变的事件&#xff0c;都是信号槽就是对信号进行响应的函数&#xff0c;可以是任意自定义函数一个信号可以对应多个槽多个信号可以对应一个槽信号的参数不能…

提升Element UI分页查询用户体验与交互:实现修改未保存提示

我实现的功能是在 element ui 的分页组件中进行分页查询时&#xff0c;如果当前有未保存的修改数据就提示用户&#xff0c;用户可以选择是否放弃未保存的数据。确认放弃就重新查询数据&#xff1b;选择不放弃&#xff0c;不重新查询&#xff0c;并且显示条数选择框保持原样&…

AWS中lambda与DynamoDB的集成

前言&#xff1a;我在整个集成过程中&#xff0c;存在最大的问题有两个&#xff0c; 1. 没有考虑到lambda函数的权限&#xff0c;即对DynamoDB或者其他如Kinesis的权限授权&#xff0c;导致无法写入或者读取。 2.最初使用了异步方式调用&#xff0c;导致无法写数据到DynamoDB…

STM32自带的DSP库的滤波初体验(一)

最近在弄STM32自带的DSP库里的滤波&#xff0c;记录一下&#xff1a; arm_fir_instance_q15 instance_q15_S; #define NUM_TAPS 16 //滤波系数的个数 #define BLOCK_SIZE 32 q15_t firStateF32[BLOCK_SIZE NUM_TAPS]; q15_t Fir_Coeff[NUM_TAPS] {-79, -136, 312, 6…

《合成孔径雷达成像算法与实现》Figure3.1

代码复现如下&#xff1a; clc close all clear all%参数设置 B 5.80e6; %信号带宽 T 7.26e-6; %脉冲持续时间 K B/T; %线性调频频率 alpha 5; %过采样率 F alpha*B; %采样频率 N F*T; %采样点数 dt T/N; …

85. 最大矩形

题目描述 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵&#xff0c;找出只包含 1 的最大矩形&#xff0c;并返回其面积。 示例 1&#xff1a; 输入&#xff1a;matrix [["1","0","1","0","0"],["1…

Icon图标有哪些在线设计的工具推荐

虽然icon图标相对较小&#xff0c;但icon图标在设计中非常重要。高质量的icon图标通常可以决定设计工作的质量。高质量的在线生产icon工具可以提高设计师图标设计的效率。此外&#xff0c;优秀的图标设计师还可以让设计师快速开始图标设计工作。本文为您选择了五种在线生成icon…

python ffmpeg合并ts文件

当你从网站下载了一集动漫&#xff0c;然后发现是一堆ts文件&#xff0c;虽然可以打开&#xff0c;但是某个都是10秒左右&#xff0c;很不方便。 这时&#xff0c;可以用python合并ts文件。 &#xff08;1&#xff09;安装配置ffmpeg 官网下载ffmpeg-2023-08-07-git-d295b6b…

【工作中问题解决实践 十】一次内存泄露排查-MAT使用指南

最近体验了一把当医生的感觉&#xff0c;定位病根病因&#xff0c;感觉这种要揪出问题的感觉很爽&#xff0c;并不觉得麻烦&#xff0c;这里将整个排查过程记录一下&#xff0c;方便之后再遇到类似问题有应对之道。 问题背景 2023-07-18 早上还在睡梦中的俺被一条条报警消息铛…

CTF流量题解http1.pcapng

使用Wireshark工具打开流量文件http1.pcapng&#xff0c;如下图所示。 在过滤检索栏输入http&#xff0c;wireshark自动进行过滤。

【EI复现】基于阶梯碳交易的含P2G-CCS耦合和燃气掺氢的虚拟电厂优化调度(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

太水了,4年经验还不如一年的,难怪面试过不了

前言 看到朋友圈一个HR发的招聘信息&#xff0c;招聘2名外包测试开发岗位&#xff0c;如果只会pythonpytestrequest这种基础的测开技术&#xff0c;极大概率是过不了面试的。 一方面为她发的信息所惊讶&#xff0c;因为外包的岗位一般在我们看来薪资不高且要求较低&#xff1…

IPC之二:使用命名管道(FIFO)进行进程间通信的例子

IPC 是 Linux 编程中一个重要的概念&#xff0c;IPC 有多种方式&#xff0c;本文主要介绍命名管道(FIFO)&#xff0c;命名管道可以完成同一台计算机上的进程之间的通信&#xff0c;本文给出了多个具体的实例&#xff0c;每个实例均附有完整的源代码&#xff1b;本文所有实例在 …

axios接受文件流并下载

需求场景 前端发送请求&#xff0c;后端传回文件流&#xff0c;前端接受到后立刻打开下载窗口下载文件 注意事项 请求api需要添加&#xff1a;responseType:blob&#xff0c; axios拦截器拦截错误状态码 (假设是code) 那里的if从res.code ! 200改为res.code && res.…

SSD202D-kernel-uimage后面加入dtb

情况是这样的,由于我们这边烧录的是uImage.xz 是经过压缩的uimage文件,涉及到解码,boot获取dtb会需要解码,解码不知为何会延时十几秒等待 这是万万不能的,于是就使用了别的方法就把dtb放到kernel的空间多余的地方,这样只要能读到即可 于是我开始了设计方法 可以看到这个dtb的…

以mod_jk方式整合apache与tomcat(动静分离)

前言&#xff1a; 为什么要整合apache和tomcat apache对静态页面的处理能力强&#xff0c;而tomcat对静态页面的处理不如apache&#xff0c;整合后有以下好处 提升对静态文件的处理性能 利用 Web 服务器来做负载均衡以及容错 更完善地去升级应用程序 jk整合方式介绍&#…

Sqlserver还原数据库为另外的名字

Sqlserver还原数据库为另外的名字 在工作中需要还原数据库的时候原来的数据库不变&#xff0c;而是需要还原成一个新的数据库 1、备份test数据库 2、新建一个test1数据库 3、设置test1数据库文件的权限 右键这两个文件->属性 4、在test1上还原数据库 5、数据库还原配置…

比特鹏哥5-数组【自用笔记】

比特鹏哥5-数组【自用笔记】 1.数组的概念2.一维数组的创建和初始化创建的语句结构初始化的语句结构 3.一维数组的使用数组的下标&#xff1a;从0开始&#xff0c;n个数组&#xff0c;最后一个的下标是n-1 4.一维数组在内存中的存储5.sizeof计算数组元素个数可以计算元素个数并…

守住L2?争夺高阶智驾?留给外资Tier1的时间不多了!

14.08%&#xff0c;这是2023年1-6月中国市场&#xff08;不含进出口&#xff09;乘用车前装标配L2&#xff08;含L2&#xff09;搭载中国本土系统解决方案的份额占比。而在NOA等高阶赛道&#xff0c;中国本土势力已经占据上风。 这个过去一直被外资Tier1垄断的智能化细分市场&a…

机器学习深度学习——循环神经网络RNN

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习—语言模型和数据集 &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习 希望文章对你们有所帮助…