jQuery的简单使用

news2024/11/20 13:28:01

jQuery的简单使用

  • jQuery查找父、子、兄弟节点
  • jQuery查找内容
  • 元素筛选
  • 遍历元素
  • 操作元素
    • width() / height() 设置宽高
    • .css() 设值样式
    • attr() / prop() 设置属性
    • 增加、删除、切换class
    • 删除和清空
  • 操作元素总结
    • 选择表达式
    • 链式操作
    • 取值和赋值函数

HTML_1

<table id="table_1" border="1" cellspacing="1" cellpadding="1" style="height: 300px;width: 500px;text-align: center;">
	<tr class="tr_th_1">
		<th>Header1</th><th>Header2</th><th class="tr_th_1_th_3">Header3</th><th>Header4</th>
	</tr>
	<tr class="tr_1">
		<td>Data1.1</td>
		<td>Data1.2</td>
		<td class="tr_1_td_3">Data1.3</td>
		<td>Data1.4</td>
	</tr>
	<tr class="tr_2">
		<td>Data2.1</td>
		<td class="tr_2_td_2">Data2.2</td>
		<td>Data2.3</td>
		<td>Data2.4</td>
	</tr>
	<tr class="tr_3">
		<td>Data3.1</td>
		<td>Data3.2</td>
		<td class="tr_3_td_3">Data3.3</td>
		<td>Data3.4</td>
	</tr>
	<tr class="tr_4">
		<td>Data4.1</td>
		<td>Data4.2</td>
		<td>Data4.3</td>
		<td class="tr_4_td_4">Data4.4</td>
	</tr>
</table>

HTML_2

<ul>
	<li>12345</li>
	<li>23451</li>
	<li>34512</li>
	<li>45123</li>
	<li>51234</li>
</ul>

HTML_3

<div id="numberList">
	<div id="number_1" class="num" name="one">数字一</div>
	<div id="number_2" class="num" name="two">数字二</div>
	<div id="number_3" class="num" name="three">数字三</div>
</div>

jQuery查找父、子、兄弟节点

此案例用HTML_1

//获取元素 可以通过 ID值,类名,标签名 等
$(".tr_th_1_th_3").css('background-color','red');

// 1.next();//获取当前元素的下一个兄弟元素
$(".tr_1_td_3").next().css('background-color','yellow');

// 2.nextAll();//获取当前元素后面所有的兄弟元素
$(".tr_2_td_2").nextAll().css('background-color','green');

// 3.prev();//获取当前元素的前一个兄弟元素
$(".tr_3_td_3").prev().css('background-color','blue');

// 4.prevAll();//获取当前元素前面的所有兄弟元素
$(".tr_4_td_4").prevAll().css('background-color','coral');

// 5.siblings();//获取当前元素的所有兄弟元素
$(".tr_th_1_th_3").siblings().css('font-size','10px');

// 6.children();//获取一个元素的直接子元素,类似于 $(‘ul > li’)
$(".tr_4").children().css('font-size','12px');

// 7.find();//获取一个元素的某种所有子元素,类似于 $(‘ul li’)
$(".tr_4").find('.tr_4_td_4').css('text-align','left');

// 8.parent();//获取当前元素的父元素
$(".tr_2_td_2").parent().css('text-align','right');

// parents();//找到所有祖先元素,不限于父元素
// contents();//查找下面的所有内容,包括节点和文本。
			
// 在next prev children内可以添加id名或者类名,用于查找特定的元素。
// eg: 
// $('#sibling-id').next('.next-sibling-class');
// $('#sibling-id').prev('.prev-sibling-class');
// 函数可以紧跟着上一个继续调用
// eg:
// $('#id_name').next().next();
// $('.class_name').parent().parent();

运行效果
在这里插入图片描述

jQuery.children(expr) //查找所有直属子元素,只会找到直接的孩子节点,不会返回所有子孙
jQuery.find(expr) //查找所有孩子节点,不限于直属孩子,直至叶子节点孩子

jQuery查找内容

此案例用HTML_1

jQuery.contents() //查找下面的所有内容,包括节点和文本。
jQuery.text() // 查找文本内容
jQuery.html() // 查找html内容
若函数括号里填入值,那可以替换相应的内容。
例如:jQuery.text('这是替换后的文字');
jQuery.html('<div><span>有内容</span></div>')
JavaScript代码运行效果

元素筛选

此案例用HTML_2

JavaScript代码运行效果

遍历元素

此案例用HTML_3

JavaScript代码运行效果

对于上面的代码,还可以这样写

$.each($("#numberList .num"), function(index, element){
	console.log(index, element);
});
$("#numberList .num").map(function(index, element){
	console.log(index, element);
});

或者写成其他形式

var elementArr = $("#numberList .num");			
for(var item of elementArr){
	console.log((item));
	console.log($(item));
}

for(var i = 0; i < elementArr.length; i++){
	console.log(i, elementArr[i]);
	console.log(i, $(elementArr[i]));
}

如果遍历对象就是这样的

$.each( {name: 'lack', age: 20}, function(key, value) {
	console.log(key);
	console.log(value);
});	

操作元素

width() / height() 设置宽高

// 设置元素宽度是 140px, 高度是60px
$("div").width(140);
$("div").height(60);
// 获取元素宽高
$("div").width();
$("div").height();

.css() 设值样式

$("div").css('background-color','red'); // 设置元素背景为红色
$("div").css({'background-color':'red', 'color':'blue'}); // 设置元素背景为红色,颜色为蓝色
$("div").css('font-size'); // 获取元素字体大小

attr() / prop() 设置属性

用 attr 设置属性值,是对属性值进行替换。若设置的属性不存在,那么就直接设置;若存在那就将属性值进行替换。例如,已有属性值是 class=“numberList” , 执行 $(“div”).attr(‘class’, ‘number’) 之后,属性值变为 class=“number”。但是,执行 $(“div”).addClass(‘class’, ‘number’) 之后,属性值变为 class=“numberList number”,变为两个值共存的情况。

$('div').attr('id', 'num1');
$("div").attr('class', 'number');
$("div").attr('name', 'one');
$("div").attr('dada-config-txt', 'this is number one');
$("div").attr('txt_data', '1');
// 也可以合在一起写
$("div").attr({'id':'num1','class':'numbers', 'name':'ones', 'dada-config-txt':'this is number one', 'txt_data':'1'});

prop() 方法和 attr() 方法类似,可以设置元素的属性和值,但是它们之间有一些细微的区别。prop() 主要用于设置元素本身的属性,如 checked、selected、disabled 等,而 attr() 更适合设置元素的非标准属性。
jQuery 官方建议:具有 true 和 false 这两种取值的属性,如 checked、selected 和 disabled 等,建议使用 prop() 方法来操作,而其他的属性都建议使用 attr() 方法来操作。
例如,下面的代码将一个 input 元素设置为选中状态:

$('input[type="checkbox"]').prop('checked', true)

同样的,也能获取相应的属性值

$("div").attr('name');
$("div").attr('txt_data');
$('input[type="checkbox"]').prop('checked')

增加、删除、切换class

addClass(className0 className1 ...)
removeClass(className0 className1 ...)
toggleClass(className) #有className则去掉,没有则添加

删除和清空

$("#number_1").removeAttr("style"); // 删除元素样式
$("#number_1").removeAttr("name"); // 删除元素名为 name 的属性
$("#number_1").remove(); // 删除元素
// 下面是清空节点里面的子元素,但是<div id="number_1" class="num"></div> 这个外壳还在
$("#number_1").empty();  
$("#number_1").html('');  

操作元素总结

选择表达式

$('#myId') //选择ID为myId的网页元素
$('ul.first') // 选择class为first的ul元素
$('input[name=first]') // 选择name属性等于first的input元素

$('a:first') //选择网页中第一个a元素
$('tr:odd') //选择表格的奇数行
$('#myForm :input') // 选择表单中的input元素
$('div:visible') //选择可见的div元素
$('div:gt(2)') // 选择所有的div元素,除了前三个
$('div:animated') // 选择当前处于动画状态的div元素

链式操作

$('div').find('h3').eq(4).html('Hello');
// 分解开来,就是 找到div元素,选择其中的h3元素,选择第5个h3元素,将它的内容改为Hello

用.end(),使结果集可以后退一步

$('div').find('h3').eq(4).html('Hello').end().eq(0).html('World');
// 设置完第5个h3元素的内容为Hello后,退回到选中所有的h3元素的那一步,选中第一个h3元素,将它的内容改为World

取值和赋值函数

.html() 取出或设置html内容

.text() 取出或设置text内容

.attr() 取出或设置某个属性的值

.width() 取出或设置某个元素的宽度

.height() 取出或设置某个元素的高度

.val() 取出某个表单元素的值

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

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

相关文章

第16章 基于结构的测试技术(白盒测试技术)

一、静态测试技术 &#xff08;一&#xff09;概述 不运行程序代码的情况下&#xff0c;通过质量准则或其他准则对测试项目进行检查的测试类型&#xff0c;人工或工具检查。 1、代码检查 2、编码规则检查 3、静态分析 静态分析概述 不需要执行程序 控制流分析 通过生成…

高边沿开关LM5050

可以用于高边沿单片机控制电路 LM5050-1/-Q1 高侧 OR-ing FET 控制器与外部 MOSFET 配合工作&#xff0c;当与电源串联时则用作理想的二 极管整流器。此 ORing 控制器可使 MOSFET 替换电 源分配网络中的二极管整流器&#xff0c;从而降低功率损耗和压 降。 LM5050-1/-Q1 控制器…

企业计算机服务器中了rmallox勒索病毒怎么处理,rmallox勒索病毒处理建议

在网络技术不断发展的时代&#xff0c;网络在企业中的应用广泛&#xff0c;可以为企业带来更多的便利&#xff0c;大大提升了企业的生产效率&#xff0c;但网络作为虚拟世界&#xff0c;在为企业提供便利的同时&#xff0c;也为企业数据安全带来严重威胁。近期&#xff0c;云天…

USB3.0线束特征阻抗测试报告解读

一. 衰减 从低频到高频&#xff0c;每个数据点都按照相对应的规范进行设置&#xff0c;形成一条标准线&#xff0c;如图1中所示&#xff0c;紫色线即为标准线&#xff0c;蓝色线为实测线。实测线在紫色线之上&#xff0c;说明线束衰减符合标准&#xff0c;反之表明线束衰减不符…

预防耳石症后遗症,了解RD的成因。

耳石症的后遗症&#xff0c;我们把它叫做RD RD的这个症状实际上它跟多因素有关。 第一个因素&#xff0c;就是跟这个病人的性格有关系的。 第二个因素&#xff0c;就是跟这个耳石复位后他这个机体的这个状态有关系。 第三个因素&#xff0c;还跟耳石的有一部分可能是真的没有…

AI大模型探索之路-训练篇12:语言模型Transformer库-Datasets组件实践

系列篇章&#x1f4a5; AI大模型探索之路-训练篇1&#xff1a;大语言模型微调基础认知 AI大模型探索之路-训练篇2&#xff1a;大语言模型预训练基础认知 AI大模型探索之路-训练篇3&#xff1a;大语言模型全景解读 AI大模型探索之路-训练篇4&#xff1a;大语言模型训练数据集概…

如何使用提示测试为LLMs构建单元测试?

原文地址&#xff1a;how-to-build-unit-tests-for-llms-using-prompt-testing 确保您的人工智能交付&#xff1a;快速测试完美生成应用程序的基本指南 2024 年 4 月 26 日 如果你曾经编写过软件&#xff0c;你就会知道测试是开发过程中必不可少的一部分。特别是单元测试&#…

windows系统网页卡死的时候 解决办法

第一种办法 同时按下ctrlshiftdelete键&#xff0c;清除缓存 如果这种办法不行&#xff0c;强制退出再打开还不行的话&#xff0c;再试第二种办法 第二种办法 打开f12开发者工具&#xff0c;如图在application标签页下&#xff0c;打开local storage&#xff0c; 右键选中virt…

Slave SQL线程与PXB FTWRL死锁问题分析

1. 问题背景 2.27号凌晨生产环境MySQL备库在执行备份期间出现因FLUSH TABLES WITH READ LOCK未释放导致备库复制延时拉大&#xff0c;慢日志内看持锁接近25分钟未释放。 版本&#xff1a; MySQL 5.7.21PXB 2.4.18 慢查询日志&#xff1a; 备份脚本中的备份命令&#xff1a;…

Hibernate执行流程分析及配置文详解

目录 1、Hibernate执行流程分析及配置文件详解 1&#xff09;Configuration对象 2&#xff09;ServiceRegistry对象&#xff08;hibernate4的新特性&#xff09; 3&#xff09;SessionFactory对象 4&#xff09;Session对象 5&#xff09;Transaction对象 6&#xff09;…

算法打卡day41

今日任务&#xff1a; 1&#xff09;198.打家劫舍 2&#xff09;213.打家劫舍II 3&#xff09;337.打家劫舍III 4&#xff09;复习day16 198.打家劫舍 题目链接&#xff1a;198. 打家劫舍 - 力扣&#xff08;LeetCode&#xff09; 你是一个专业的小偷&#xff0c;计划偷窃沿街…

AttributeError: module ‘numpy‘ has no attribute ‘int‘.

问题描述 复现代码过程中遇到错误&#xff1a;AttributeError: module numpy has no attribute int. 错误代码行&#xff1a; self.sf np.int(data[sf][0,...].squeeze().cpu().numpy()) # scale factor 解决方案 这是因为在Numpy 1.2.0版本中就已经弃用了这个用法&#x…

探索动态内存开辟的奥秘

✨✨欢迎&#x1f44d;&#x1f44d;点赞☕️☕️收藏✍✍评论 个人主页&#xff1a;秋邱博客 所属栏目&#xff1a;C语言 前言 开始之前&#xff0c;我们先来了解一下C/C中程序内存区域划分。 在C/C程序中&#xff0c;内存区域通常被划分为以下几个部分&#xff1a; 1.栈&…

【基础算法总结】滑动窗口一

滑动窗口 1.长度最小的字数组2.无重复字符的最长子串3.最大连续1的个数 III4.将 x 减到 0 的最小操作数 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#xff0c;我们一起努力吧!&#x1f603;&…

软件测试(实验五)——Jmeter的使用

目录 实验目的 一、使用JMeter演示取样器、监听器、配置元件、断言的使用&#xff1b; 1、取样器 2、监听器 3、配置元件的使用 ① 用户定义的变量 ②HTTP信息头管理器 ③HTTP请求默认值 ④CSV数据文件设置 4、断言 ①响应断言 ②JSON断言 ③断言持续时间 二、使用…

普通二维码打开微信小程序并且传递参数

实现方法&#xff1a; 【1】确保有一个企业级别的认证过的微信小程序 【2】有一个https并且备案过的域名 【3】进入微信后台“开发”-“开发设置”-“扫普通链接二维码打开小程序”-“添加” 官方文档&#xff1a;https://developers.weixin.qq.com/miniprogram/introduction/q…

C语言实验-学生信息管理系统

按以下菜单界面编写学生信息管理系统&#xff1b; 1&#xff09;录入学生信息首先输入学生人数&#xff0c;然后根据学生人数开辟动态数组&#xff1b; 2&#xff09;学生信息包括学号、姓名、性别、三门课成绩、总分&#xff1b;其中学号、姓名、 性别、三门课成绩是需要从键盘…

YOLO自研模块:多尺度轻量化卷积模块

目录 一、原理 二、代码 三、配置文件 一、原理 不同大小的卷积核,提取目标特征的特征尺度不同,所以通过使用不同大小卷积核的卷积来提取特征就可以保证获取到目标的多尺度特征。 借鉴YOLOv8中,将通道数进行划分的操作,在卷积的输入过程中为了减小参数量,将输入通道数…

截图时,VSCode屏幕泛白

问题如图所示&#xff1a; 放弃前摇&#xff0c;直接给出解决方案&#xff1a;换个主题即可。 实测&#xff0c;Light Modern 的色域正常&#xff0c;其他的没有经过测试。 出现这个问题的原因&#xff0c;大概率就是色彩空间不匹配。 HDR 内容是为了在支持 HDR 的显示设备上展…

H3C MSTP 实验

H3C MSTP 实验 实验拓扑 ​​ 实验需求 所有交换机上创建 Vlan10&#xff0c;Vlan20&#xff0c;Vlan30 和 Vlan40所有交换机之间的端口配置为 Trunk&#xff0c;并放行相关 VLAN按照图示分区域配置 MSTP&#xff0c;并配置主备根网桥 实验步骤 VLAN基础配置&#xff08;…