jQuery DOM

news2025/2/2 12:59:03

文章目录

  • jQuery DOM
    • 概述
    • 操作元素
      • 创建元素
      • 插入节点
        • prepend()
        • prependTo()
        • append()
        • appendTo()
        • before()
        • insertBefore()
        • after()
        • insertAfter()
      • 删除元素
        • remove()
        • detach()
        • empty()
      • 复制元素
        • clone()
      • 替换元素
        • replaceWith()
        • replaceAll()
      • 包裹元素
        • wrap()
        • wrapAll()
        • wrapInner()
      • 遍历元素
    • 属性操作
      • 获取属性
      • 设置属性
      • 删除属性
      • prop()方法

jQuery DOM

概述

DOM,全称“Document Object Model(文档对象模型)”,它是由W3C(World Wide Web Consortium,万维网联盟)定义的一个标准。

DOM采用的是“树形结构”,用“树节点”的形式来表示页面中的每一个元素。

操作元素

创建元素

语法

$().append("字符串")

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				var $li = "<li>jQuery</li>";
				$("ul").append($li);
			})
		</script>
	</head>
	<body>
		<ul>
			<li>HTML</li>
			<li>CSS</li>
			<li>JavaScript</li>
		</ul>
	</body>
</html>

在这里插入图片描述

插入节点

在jQuery中插入节点的方法有以下4组:

  • prepend() 和 prependTo()
  • append() 和 appendTo()
  • before() 和 insertBefore()
  • after() 和 insertAfter()

prepend()

语法

$(父元素).append(子元素)

说明

在父元素里添加子元素。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				var $strong = "<strong style='color:red;'>jQuery</strong>";
				$("p").prepend($strong);
			})
		</script>
	</head>
	<body>
		<p> hello</p>
	</body>
</html>

在这里插入图片描述

prependTo()

语法

$(子元素).prependTo(父元素)

说明

将子元素添加到父元素内部。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				var $strong = "<strong style='color:red;'>jQuery</strong>";
				$($strong).prependTo("p");
			})
		</script>
	</head>
	<body>
		<p> hello</p>
	</body>
</html>

在这里插入图片描述

append()

语法

$(父元素).append(子元素)

说明

父元素内部添加子元素。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				var $strong = "<strong style='color:red;'>jQuery</strong>";
				$("p").append($strong);
			})
		</script>
	</head>
	<body>
		<p>hello </p>
	</body>
</html>

在这里插入图片描述

appendTo()

语法

$(子元素).appendTo(父元素)

说明

将子元素添加到父元素内部。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				var $strong = "<strong style='color:red;'>jQuery</strong>";
				$($strong).appendTo("p");
			})
		</script>
	</head>
	<body>
		<p>hello </p>
	</body>
</html>

在这里插入图片描述

before()

语法

$(元素A).before(元素B)

说明

在元素A的外部前面插入元素B。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				var $strong = "<strong style='color:red;'>jQuery</strong>";
				$("p").before($strong);
			})
		</script>
	</head>
	<body>
		<p>hello </p>
	</body>
</html>

在这里插入图片描述

insertBefore()

语法

$(元素A).insertBefore(元素B)

说明

将元素A插入元素B外部的前面。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				var $strong = "<strong style='color:red;'>jQuery</strong>";
				$($strong).insertBefore("p");
			})
		</script>
	</head>
	<body>
		<p>hello </p>
	</body>
</html>

在这里插入图片描述

after()

语法

$(元素A).after(元素B)

说明

在元素A外部的后面插入元素B。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				var $strong = "<strong style='color:red;'>jQuery</strong>";
				$("p").after($strong);
			})
		</script>
	</head>
	<body>
		<p>hello </p>
	</body>
</html>

在这里插入图片描述

insertAfter()

语法

$(元素A).insertAfter(元素B)

说明

将元素A插入到元素B外部的后面。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				var $strong = "<strong style='color:red;'>jQuery</strong>";
				$($strong).insertAfter("p");
			})
		</script>
	</head>
	<body>
		<p>hello </p>
	</body>
</html>

在这里插入图片描述

删除元素

在jQuery中删除元素有以下3种:

  • remove()
  • detach()
  • empty()

remove()

语法

$(元素).remove()

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("li:nth-child(3)").remove();
			})
		</script>
	</head>
	<body>
		<ul>
			<li>HTML</li>
			<li>CSS</li>
			<li>JavaScript</li>
			<li>jQuery</li>
		</ul>
	</body>
</html>

在这里插入图片描述

detach()

在jQuery中,detach()和remove()的功能虽然相似,都是将某个元素及其内部所有内容删除,但是两者也有明显的区别。

  • remove()方法用于“彻底”删除元素。所谓的“彻底”,指的是不仅会删除元素,还会把元素绑定的事件删除。
  • detach()方法用于“半彻底”删除元素。所谓的“半彻底”,指的是只会删除元素,不会把元素绑定的事件删除。

empty()

语法

$(父元素).empty()

说明

清空后代元素。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("li:nth-child(4)").empty();
			})
		</script>
	</head>
	<body>
		<ul>
			<li>HTML</li>
			<li>CSS</li>
			<li>JavaScript</li>
			<li>jQuery</li>
		</ul>
	</body>
</html>

在这里插入图片描述

复制元素

clone()

语法

$(元素).clone(取值)

取值

属性值说明
true复制元素,同时复制所有绑定的事件
false仅复制元素,不会复制绑定的事件

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("li").each(function(index, e) {
					$(e).click(function() {
						alert($(this).text())
					});
				});

				var $ul = $("ul").clone(true);
				$("#box").append($ul);
			})
		</script>
	</head>
	<body>
		<ul>
			<li>HTML</li>
			<li>CSS</li>
			<li>JavaScript</li>
			<li>jQuery</li>
		</ul>
		<div id="box"></div>
	</body>
</html>

在这里插入图片描述

替换元素

在jQuery中替换元素有以下2种方法:

  • replaceWith()
  • replaceAll()

replaceWith()

语法

$(元素A).replaceWith(元素B)

说明

将元素A替换为元素B。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("#btn").click(function() {
					var $a = "<a href='http://www.baidu.com'>百度</a>";
					$("strong").replaceWith($a);
				});
			})
		</script>
	</head>
	<body>
		<strong>hello jQuery</strong>
		<input id="btn" type="button" value="替换">
	</body>
</html>

replaceAll()

语法

$(元素A).replaceAll(元素B)

说明

用元素A替换元素B。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("#btn").click(function() {
					var $a = "<a href='http://www.baidu.com'>百度</a>";
					$($a).replaceWith("strong");
				});
			})
		</script>
	</head>
	<body>
		<strong>hello jQuery</strong>
		<input id="btn" type="button" value="替换">
	</body>
</html>

包裹元素

在jQuery中包裹元素有以下3种方式:

  • wrap()
  • wrapAll()
  • wrapInner()

wrap()

语法

$(元素A).wrap(元素B)

说明

元素B包裹元素A。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				var $div = "<div style='color:red;'></div>";
				$("p").wrap($div);
			})
		</script>
	</head>
	<body>
		<p>HTML</p>
		<p>CSS</p>
		<p>JavaScript</p>
		<p>jQuery</p>
	</body>
</html>

在这里插入图片描述

在这里插入图片描述

wrapAll()

语法

$(元素A).wrapAll(元素B)

说明

将所有的元素A一起被元素B包裹

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				var $div = "<div style='color:red;'></div>";
				$("p").wrapAll($div);
			})
		</script>
	</head>
	<body>
		<p>HTML</p>
		<p>CSS</p>
		<p>JavaScript</p>
		<p>jQuery</p>
	</body>
</html>

在这里插入图片描述

在这里插入图片描述

wrapInner()

语法

$(元素A).wrapInner(元素B)

说明

将元素A内部的元素和文本用元素B包裹。

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				var $strong = "<strong style='color:red;'></strong>";
				$("p").wrapInner($strong);
			})
		</script>
	</head>
	<body>
		<p>HTML</p>
		<p>CSS</p>
		<p>JavaScript</p>
		<p>jQuery</p>
	</body>
</html>

在这里插入图片描述

在这里插入图片描述

遍历元素

语法

$("li").each(function(index, element) {
	
});

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("li").each(function(index, element) {
					var txt = "第" + index + "个元素";
					$(element).text(txt).css("color", "red");
				});
			})
		</script>
	</head>
	<body>
		<div>
			<li></li>
			<li></li>
			<li></li>
			<li></li>
		</div>
	</body>
</html>

在这里插入图片描述

属性操作

获取属性

语法

$(元素).attr("属性名")

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				var src = $("img").attr("src");
				var alt = $("img").attr("alt");
				console.log(src); //img/a.png
				console.log(alt); //图片1号
			})
		</script>
	</head>
	<body>
		<img src="img/a.png" alt="图片1号">
	</body>
</html>

设置属性

语法

$(元素).attr("属性名", "属性值")
$(元素).attr({"属性名":"属性值","属性名2":"属性值",...})

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("#pic").attr({
					"src": "img/a.png",
					"alt": "图片1号"
				})
			})
		</script>
	</head>
	<body>
		<img id="pic">
	</body>
</html>

在这里插入图片描述

删除属性

语法

$(元素).removeAttr("属性名")

使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
			.select {
				color: red;
			}
		</style>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("#p1").removeAttr("class");
			})
		</script>
	</head>
	<body>
		<p class="select">hello</p>
		<p id="p1" class="select">hello</p>
	</body>
</html>

在这里插入图片描述

prop()方法

prop()方法和attr()方法相似,都可以获取和设置元素的HTML属性。

但是jQuery官方建议:具有true和false这两种取值的属性,如checked、selected和disabled等,建议使用prop()方法来操作,而其他的属性都建议使用attr()方法来操作。

总之,如果某个属性没法使用attr()方法来获取或设置,改换prop()方法就可以实现。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/jquery-1.12.4.min.js"></script>
		<script>
			$(function() {
				$("input[type='radio']").change(function() {
					var b = $(this).prop("checked");
					if (b) {
						$("p").text("您选择的是:" + $(this).val());
					}
				});
			})
		</script>
	</head>
	<body>
		<div>
			<label><input type="radio" name="fruit" value="苹果">苹果</label>
			<label><input type="radio" name="fruit" value="香蕉">香蕉</label>
			<label><input type="radio" name="fruit" value="梨子">梨子</label>
		</div>
		<p></p>
	</body>
</html>

在这里插入图片描述

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

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

相关文章

Iceberg在袋鼠云的探索及实践

“数据湖”、“湖仓一体”及“流批一体”等概念&#xff0c;是近年来大数据领域热度最高的词汇&#xff0c;在各大互联网公司掀起了一波波的热潮&#xff0c;各家公司纷纷推出了自己的技术方案&#xff0c;其中作为全链路数字化技术与服务提供商的袋鼠云&#xff0c;在探索数据…

微服务框架 SpringCloud微服务架构 微服务面试篇 54 微服务篇 54.5 Nacos与Eureka的区别有哪些?【接口方式、实例类型、健康检测】

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务面试篇 文章目录微服务框架微服务面试篇54 微服务篇54.5 Nacos与Eureka的区别有哪些&#xff1f;【接口方式、实例类型、健康检测】54…

【大数据入门核心技术-Kafka】(七)Kafka扩容broker和数据迁移

目录 一、准备工作 1、安装好Zookeeper集群 2、安装好Kafka集群 二、Kafka扩容broker 三、Kafka数据迁移 1、查看主题列表 2、创建Topic 3、查看Topic详细信息 4、生成需要迁移的json 5、生成迁移计划 6、执行迁移计划 7、查看迁移计划 8、确认topic数据分布 一、…

Shiro框架学习笔记、整合Springboot、redis缓存

本笔记基于B站UP主不良人编程 目录 1.权限的管理 1.1什么是权限管理 1.2什么是身份认证 1.3什么是授权 2.什么是Shiro 3.Shiro的核心架构 3.1 S核心内容 4.shiro中的认证4.1认证 4.2shiro中认证的关键对象 4.3认证流程 4.4认证程序开发流程 4.4认证程序源码 4.5自定…

java ssm羽毛球馆管理和交流平台系统

羽毛球作为每个人爱好的一项体育运动&#xff0c;越来也收到人们的好评和关注。很多羽毛球爱好者通过网站的形式对羽毛球场地情况&#xff0c;羽毛球的爱好者的互相学习进行交流&#xff0c;方便了大众对于羽毛球的交流和沟通&#xff0c;提高羽毛球技术的同时&#xff0c;也让…

颠覆传统返利模式,针对用户复购率低的全新解决方案——消费盲返

如今互联网商业模式遍地开花&#xff0c;谈及商业模式&#xff0c;大家第一想到的肯定是积分消费返利&#xff0c;那么“消费返利”对于大家来说都不陌生&#xff0c;那么本期林工想给大家介绍的是一个怎么听怎么亏&#xff0c;实则已经悄悄爆火的模式——消费盲返&#xff0c;…

DNS寻址过程

文章目录什么是DNS寻址过程图显示什么是DNS DNS是域名系统( Domain Name System)的英文缩写&#xff0c;是一种组织成域层次结构的计算机和网络服务命名系统&#xff0c;它用于TCP/IP网络&#xff0c;它所提供的服务是用来将主机名和域名转换为IP地址的工作。 寻址过程 本地…

【Linux】第三部分 Linux文件系统目录结构

【Linux】第三部分 Linux文件系统目录结构 文章目录【Linux】第三部分 Linux文件系统目录结构3. Linux文件系统目录结构总结3. Linux文件系统目录结构 可以右键打开终端 目录意义bin该目录存放的是经常使用到的命令&#xff0c;例如上图所示&#xff1a;cd &#xff0c; ls 等…

《计算机程序构造与解释》读书笔记(3)

文章目录1. 写在最前面2. 设计的取舍3. 赋值和局部状态3.1 局部状态变量3.2 引进赋值带来的利益3.3 引进赋值的代价3.3.1 同一和变化3.3.2 命令式程序设计的缺陷4. 求值的环境模型4.1 求值规则4.2 简单过程的应用4.3 将框架看做局部状态的展台4.4 内部定义5. 用变动数据做模拟5…

Mycat(13):全局表和普通表的配置和测试

1 全局表概述 一个真实的业务系统中&#xff0c;往往存在大量的类似字典表的表格&#xff0c;它们与业务表之间可能有关系&#xff0c;这种关系&#xff0c;可以理解为“标签”&#xff0c;而不应理解为通常的“主从关系”&#xff0c;这些表基本上很少变动&#xff0c;可以根…

Spring Security认证和授权

Spring Security认证和授权 一、Spring Security的认识 Spring Security是Spring家族中的一个安全管理框架。相比与另外一个安全框架Shiro&#xff0c;它提供了更丰富的功能&#xff0c;社区资源也比Shiro丰富。 一般来说中大型的项目都是使用SpringSecurity来做安全框架。小…

Windows C语言 UDP通信demo

目录编译环境快速入门编译指令服务端code客户端code参考文章以及遇到的问题编译环境 我的demo是通过此文章从C更改成的C&#xff0c;编译环境使用的是Mingw&#xff0c;如下图所示 快速入门 拷贝代码编译互传消息 编译指令 客户端&#xff1a;gcc .\udpclient.c -lwsock3…

《剑指offer》– 链表中倒数第k个节点、反转链表、合并两个排序的链表

一、链表中倒数时第k个节点&#xff1a; 1、题目&#xff1a; 输入一个链表&#xff0c;输出该链表中倒数第k个结点。 2、解题思路&#xff1a;单链表具有单向移动的特性。 &#xff08;1&#xff09;第一种&#xff1a;先遍历链表&#xff0c;算出链表节点数count&#xf…

计算机毕设Python+Vue学生用品采购系统(程序+LW+部署)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

我国风电行业发展现状:并网装机容量持续增长 产业集中化趋势明显

根据观研报告网发布的《2022年中国风电行业分析报告-行业全景评估与投资规划分析》显示&#xff0c;风电是一种清洁、绿色的可再生能源。风力发电是能源领域中技术最成熟、最具规模开发条件和商业化发展前景的发电方式之一。发展风力发电对于解决能源危机、减轻环境污染、调整能…

【Java面试八股文宝典之基础篇】备战2023 查缺补漏 你越早准备 越早成功!!!——Day13

大家好&#xff0c;我是陶然同学&#xff0c;软件工程大三明年实习。认识我的朋友们知道&#xff0c;我是科班出身&#xff0c;学的还行&#xff0c;但是对面试掌握不够&#xff0c;所以我将用这100多天更新Java面试题&#x1f643;&#x1f643;。 不敢苟同&#xff0c;相信大…

【1760. 袋子里最少数目的球】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你一个整数数组 nums &#xff0c;其中 nums[i] 表示第 i 个袋子里球的数目。同时给你一个整数 maxOperations 。 你可以进行如下操作至多 maxOperations 次&#xff1a; 选择任意一个袋子&#…

开发板到货记录一波

今天在终于拿到了期待已久的开发板RK3568&#xff0c;来&#xff0c;亮个相吧&#xff01;&#xff01;&#xff01; 开发板资源还是相当丰富的&#xff0c;对于学习安卓&Linux都是非常友好的&#xff0c;开发板默认安装的是安卓11系统&#xff0c;由于经费问题目前还没有…

小米发明“永动机”:走路即可为智能设备充电

蓝牙耳机、智能智能手表、智能手环、智能眼镜、智能手机……随着科技的进步&#xff0c;越来越多的移动与可穿戴智能设备开始走进我们的生活&#xff0c;智能设备在给人们生活带来便利的同时&#xff0c;也带来了一些困惑&#xff0c;越来越多诸如手环、TWS耳机等智能穿戴设备&…

火热的元宇宙,成为未来趋势

近年来&#xff0c;中国在算力上突飞猛进&#xff0c;有望成为世界顶尖&#xff0c;再加数据和算法上的优势&#xff0c;中国就很有可能在元宇宙方面率先开发出原创性的技术&#xff0c;从而实现从“0”到“1”的突破。 元宇宙办公 在未来的元宇宙畅想中&#xff0c;人们不仅…