Jquery常用操作汇总,dom操作,ajax请求

这段时间在写一些小Demo,用的都是很远古的Jquery,哈哈哈,但是呢也挺好玩儿的。想着记录一下。

image.png

题外话:补充一些自己欠缺的前端知识,(我的前端学的比较乱,哈哈哈,原生的js不是很熟,)

题外话—dom操作导致事件绑定失效?

场景复现:循环遍历了一个table表格,及其操作按钮,当我们重新渲染表格时,表格中的操作按钮会失效,无法点击。大家的写法可能如下(一个经典错误):

$('#editBn').on('click',function(){// 业务逻辑
})

使用事件委托,将对应的事件委托给父级元素即可。

$('.container').on('click','.btn',function(){// 业务逻辑
})

题外话—JS 操纵 JSON

  • JSON.parse() 将JSON字符串转换JavaScript对象
  • JSON.stringify() 将JavaScript值转换为JSON字符串

一、jQuery常用操作

(一)元素选择

这里的话,最常用的就是类选择器和id选择器,和CSS选择器基本一致,不做过多赘述

let Mybtn = $(".my-button")
let MyBox = $("#mybox")

(二)添加元素

1. append()

将一个或多个元素添加到每个匹配元素的子元素列表的末尾。

$('#parent').append('<div class="newElement">New Element</div>');
2. prepend()

将一个或多个元素添加到每个匹配元素的子元素列表的开头。

$('#parent').prepend('<div class="newElement">New Element</div>');
3. before()

在每个匹配元素之前插入内容。

$('#target').before('<div class="newElement">Before Target</div>');
4. after()

在每个匹配元素之后插入内容。

$('#target').after('<div class="newElement">After Target</div>');
5. html()

替换每个匹配元素的HTML内容。

$('#target').html('<div class="newElement">Replace Content</div>');
6. clone()

克隆一个或一组元素,并可选择包含其事件处理程序。

var clonedElement = $('#elementToClone').clone(true).appendTo('#parent');

(三)移除元素

1. remove()

从DOM中删除每个匹配的元素。

$('#elementToRemove').remove();
2. empty()

删除所有子节点,但保留匹配的元素本身。

$('#parent').empty();
3. detach()

从DOM中删除每个匹配的元素,同时保持所有jQuery数据和事件处理程序。

$('#elementToDetach').detach();

(四)form表单

1. input 输入框的内容获取
// 很简单,凡是input控件,基本都可以通过.val() 去获取输入框的值
<input  type="text" id="ipt1"/>
let ipt1V = $("#ipt1").val()
2. input 输入框的双向数据绑定

其实就是change事件触发的同时去修改绑定值啦

<input  type="text" id="ipt2"/>
<p id="ipt2Text"></p>$("ipt2").on("change",function(){// 除了form控件之外的其他元素的内容,基本都可以通过.text()去改变元素内容$("ipt2Text").text($("#ipt2").val())
})
3. 判断 单选radio 哪一项被选中
<form>  <input type="radio" name="group1" value="option1"> Option 1<br>  <input type="radio" name="group1" value="option2" checked> Option 2<br>  <input type="radio" name="group1" value="option3"> Option 3  
</form>// 检查是否有radio被选中  
if($('input[name="group1"]:checked').length > 0) {  // 获取被选中的radio的值  var selectedValue = $('input[name="group1"]:checked').val();  // 显示被选中的值  alert("Selected Value: " + selectedValue);  
} else {  // 如果没有radio被选中  alert("没有radio被选中.");  
}  
4. 获取下拉框的值

通过select元素获取其val即可得到当前被选择的值

$('#selectOption').val();
5. input 控件动态添加readonly,disabled,checked 等属性

两种方法,更推荐.prop

  • .attr()$('element').attr(key,value)
  • .prop()$('element').prop('xxxx',true|false)

在大多数情况下,使用prop()方法而不是attr()方法来设置或获取布尔属性(如readonlydisabledchecked等),因为prop()方法能更准确地反映DOM属性的实际状态。

// 设置复选框或单选按钮为选中状态
$('#myCheckbox').attr('checked', 'checked');// 或者使用 prop() 方法
$('#myCheckbox').prop('checked', true);
// 移除 checked 属性,即取消选中状态
$('#myCheckbox').removeAttr('checked');// 或者使用 prop() 方法
$('#myCheckbox').prop('checked', false);
6. input file 文件上传,获取上传的文件内容,多文件上传
 $("#formFile").on("change", function () {var files = $(this).prop('files');var data = new FormData();data.append('file', files[0]);}
7. input file 改用按钮点击触发文件上传
将input file 隐藏掉 display:none ,然后点击按钮时,触发file的点击事件
文件上传在file input的click中实现

二、Jquery 操控 Ajax

(一)GET请求
$.ajax({url: 'http://example.com/data',type: 'GET',success: function(response) {console.log(response);},error: function(error) {console.error(error);}
});
(二)POST请求
$.ajax({url: 'http://example.com/submit',type: 'POST',data: { key: 'value' }, // 或者使用 $('#formId').serialize()success: function(response) {console.log(response);},error: function(error) {console.error(error);}
});
(三)文件上传

文件上传通常需要使用FormData对象,并且通常涉及到POST请求。

var form = $('#fileUploadForm')[0];
var formData = new FormData(form);$.ajax({url: 'http://example.com/upload',type: 'POST',data: formData,processData: false, // 不要处理数据contentType: false, // 不要设置内容类型success: function(response) {console.log(response);},error: function(error) {console.error(error);}
});
(四)发送一个json请求
var data = { key: "value" }; // 这是你的 JSON 数据$.ajax({url: 'http://example.com/api/endpoint',type: 'POST',data: JSON.stringify(data), // 将 JavaScript 对象转换为 JSON 字符串contentType: 'application/json; charset=utf-8', // 告诉服务器你发送的是 JSON 数据dataType: 'json', // 告诉 jQuery 期望从服务器接收 JSON 数据success: function(response) {console.log(response); // 处理服务器返回的 JSON 数据},error: function(error) {console.error(error); // 处理错误情况}
});

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

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

相关文章

链表的回文结构(链表的中间节点+反转链表)

链表的回文结构 一.链表的中间节点思路1&#xff1a;暴力求解思路2&#xff1a;快慢指针 二.返回倒数第k个节点思路1&#xff1a;暴力求解思路2&#xff1a;快慢指针 三.反转链表思路1&#xff1a;头插法思路2&#xff1a;反转指针的指向 四.链表的回文结构思路1&#xff1a;利…

「C++系列」一篇文章讲透【运算符】

文章目录 一、运算符1. 算术运算符2. 关系运算符3. 逻辑运算符4. 位运算符5. 赋值运算符6. 条件运算符&#xff08;三元运算符&#xff09;7. 成员访问运算符8. 指针和地址运算符9. 类型转换运算符10. 其他运算符 二、其他特殊运算符1. 成员访问运算符2. 指针和地址运算符3. 类…

Laravel入门:快速启动你的第一个应用

当然&#xff01;下面是关于如何使用Laravel快速启动你的第一个应用的教程。 Laravel入门&#xff1a;快速启动你的第一个应用 1. 简介 Laravel是一个现代化的PHP框架&#xff0c;以其优雅的语法和丰富的功能广受欢迎。本教程将引导你从零开始创建一个简单的Laravel应用。 2…

python的自省机制(改bug有用)

在 Python 中&#xff0c;自省&#xff08;Introspection&#xff09;机制是指程序在运行时能够获取自身的信息&#xff0c;例如对象的类型、属性、方法等。 Python 提供了一些内置函数和特殊属性来支持自省。以下是一些常见的例子&#xff1a; type() 函数&#xff1a;返回对象…

Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x

目录 开始 Exporter 采集数据&#xff0c;Prometheus 拉取并监控 Linux MySQL Redis RabbitMQ Docker SpringBoot 3.x 开始 Exporter 采集数据&#xff0c;Prometheus 拉取并监控 Note&#xff1a;Prometheus 和 Grafana 的部署已经在前面的章节中讲过了&#xff0c;不…

Solana Blink和SEND的崛起:技术与市场效应的结合

随着Solana生态系统的不断发展&#xff0c;新的项目和技术不断涌现&#xff0c;吸引了大量的关注和投资。最近&#xff0c;Solana的Blink项目及其相关的SEND代币成为了市场的焦点&#xff0c;引发了广泛的讨论和投资热潮。本文将探讨Blink和SEND的技术创新、市场表现以及未来的…

C++中的自定义数据类型:类和结构体

目录 自定义数据类型(1)类A.面向对象的四大特征B.What&#xff08;什么是类&#xff09;C.Why&#xff08;类的作用&#xff09;D.How&#xff08;如何定义和使用类&#xff09; (2)结构体 自定义数据类型 (1)类 A.面向对象的四大特征 谈到类&#xff0c;就必须讲一下面向对…

基于MATHCAD的傅里叶级数模拟和方波图像绘制

一、MATHCAD软件简介 MATHCAD是一款功能强大的数学计算软件&#xff0c;它允许用户以类似手写公式的方式输入数学表达式&#xff0c;并即时显示计算结果和图形。在工程研究和学术写作的世界里&#xff0c;MathCAD以其强大的符号运算能力和直观的数学书写体验脱颖而出。MATHCAD…

三相PWM整流器PI双闭环控制Simulink

1.模型简介 本仿真模型基于MATLAB/Simulink&#xff08;版本MATLAB 2017Rb&#xff09;软件。建议采用matlab2017 Rb及以上版本打开。&#xff08;若需要其他版本可联系代为转换&#xff09; 2.拓扑结构&#xff1a; 3.模型算法架构&#xff1a; 4.仿真算法&#xff1a; &am…

Lua协程(同步的多线程)

1.coroutine.create( func ) 创建一个协程&#xff0c;返回co&#xff08;coroutine&#xff09;&#xff0c;参数是一个函数&#xff0c;当调用resume时就唤醒co并调用函数 2.coroutine.resume(co, 函数参数们) 启动协程co并传入协程调用函数的参数&#xff0c;可以带回协程…

前端XMLHttpRequest、Fetch API、Axios实现文件上传、下载方法及后端Spring文件服务器处理方法

前言 本文总结Web应用开发中文件上传、下载的方法&#xff0c;即从前端表单输入文件并封装表单数据&#xff0c;然后请求后端服务器的处理过程&#xff1b;从基础的JavaScript中XmlHttpRequest对象、Fetch API实现上传、下载进行说明&#xff0c;并给出了前端常用的axios库的请…

[AHK] WinHttpRequest.5.1报错 0x80092004 找不到对象或属性

目录 背景描述 用浏览器访问&#xff0c;正常返回 ​编辑 AHK v2官方示例源代码 AHK v2运行结果报错(0x80092004) 找不到对象或属性 用thqby大佬的WinHttpRequest.ahk库测试报错 0x80092004 找不到对象或属性 附&#xff1a; 用Apifox访问&#xff0c;也正常返回 AHK v1 …

克洛托光电再度合作福晶科技,高精度光学镜头装调仪正式交付

近日&#xff0c;苏州东方克洛托光电技术有限公司&#xff08;下称“克洛托光电”&#xff09;高精度光学镜头装调仪正式交付于福建福晶科技股份有限公司&#xff0c;研发人员在现场完成设备安装调试并介绍使用方法。据悉&#xff0c;这已是双方第二次展开合作。 前沿产品力助推…

django之 annotate,aggrate

annotate&#xff1a;annotate() 不是一个终止子句。 annotate() 子句的输出是一个 QuerySet&#xff1b;这个 QuerySet 可以使用任何其他 QuerySet 操作进行修改&#xff0c;包括 filter()、order_by()&#xff0c;甚至对 annotate() 的额外调用。"增加一列属性" ag…

k8s中kubesphere开启devops总是报错解决

自己搭建过k8s集群遇到各种形式的报错&#xff0c;手动去解决&#xff0c;其实这都是由程序自动去解决的问题&#xff0c;由于自己的的失误导致问题不得不去亲自解决是虽然管用但费时费力&#xff0c;在kubersphere开启devops本身没什么问题&#xff0c;但由于虚拟机配置低导致…

SpringBoot+Vue实现简单的文件上传(策略模式)

SpringBootVue实现简单的文件上传 1 环境 SpringBoot 3.2.1&#xff0c;Vue 2&#xff0c;ElementUI 2 问题 前两篇文章&#xff0c;我们上传了txt、Excel文件&#xff0c;其实文件类型有很多种&#xff0c;如果我们的upload组件没有上传文件类型的限制&#xff0c;那么同一个…

MongoDB Shard 集群 Docker 部署

MongoDB Shard Docker 部署 部署环境 主机地址主机配置主机系统Mongodb1/192.168.31.1352CPU 4GBDebian12Mongodb2/192.168.31.1092CPU 4GBDebian12Mongodb3/192.168.31.1652CPU 4GBDebian12 镜像版本 mongodb/mongodb-community-server:5.0.27-ubuntu2004 部署集群 部署…

【tomcat】Tomcat如何扩展Java线程池原理

池化技术 在后端中&#xff0c;对于经常使用池化就是来提升系统性能&#xff0c;比如数据库连接池、线程池连接池等&#xff0c;本质都是利用空间换时间的来提升性能&#xff0c;用来避免资源的频繁创建和销毁&#xff0c;以此提高资源的复用率&#xff0c;所以合理设置系统所…

大语言模型诞生过程剖析

过程图如下 &#x1f4da; 第一步&#xff1a;海量文本的无监督学习 得到基座大模型&#x1f389; &#x1f50d; 原料&#xff1a;首先&#xff0c;我们需要海量的文本数据&#xff0c;这些数据可以来自互联网上的各种语料库&#xff0c;包括书籍、新闻、科学论文、社交媒体帖…

Object.assign方法有什么用?超详细测试用例、实例、可以在浏览器的控制台打印结果

Object.assign 是一个 JavaScript 方法&#xff0c;用于将一个或多个源对象的所有可枚举属性复制到目标对象中。它返回目标对象。这个方法常用于合并对象或浅复制对象。 语法 Object.assign(target, ...sources)target: 目标对象。sources: 一个或多个源对象。 示例 1. 合并…