jQuery_T2_DOM操作

news/2024/5/3 16:04:37/文章来源:https://blog.csdn.net/feng8403000/article/details/128034169

目录

什么是DOM?

DOM操作的内容

jQuery的DOM

DOM转jQuery对象 

DOM样式添加

jQuery元素属性设置

toggle切换

​编辑html()与text()区别

DOM添加图片

纯dom添加元素

克隆元素


 

什么是DOM?

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。它是一种与平台和语言无关的应用程序接口(API),它可以动态地访问程序和脚本,更新其内容、结构和www文档的风格(HTML和XML文档是通过说明部分定义的)。文档可以进一步被处理,处理的结果可以加入到当前的页面。DOM是一种基于树的API文档,它要求在处理过程中整个文档都表示在存储器中。另外一种简单的API是基于事件的SAX,它可以用于处理很大的XML文档,由于大,所以不适合全部放在存储器中处理。

DOM操作的内容

为了增加DOM树结点与页面主题信息相关程度的语义信息,计算结点内容的重要度,将HTML标签的类别(Category)、非链接文字数(WordNum)、超链接数(LinkNum)、属性集(Attibution)和影响度因子(Influence)等属性添加到结点中,扩展其语义。HTML标签依据其作用可分为5类:
描述标题及页面概要信息的标签:如〈title〉、〈meta〉等。
规划网页布局的标签:如〈table〉、〈tr〉、〈td〉、〈p〉、〈div〉等,其作用是描述网页内容的布局结构。
描述显示特点的标签:如〈b〉、〈I〉、〈strong〉、〈h1〉-〈h6〉等,其作用是强调重点内容,引起人们注意。
超链接相关的标签,表示网页间的内容相关性信息。
其他标签,如设置图像的标签〈img〉,在文本提取时将忽略这类标签。
根据HTML标签在刻画网页特征时的语义功能,将DOM树结点分为6种类别:标题类(TITLE)、正文类(CONTENT)、视觉类(VISION)、分块类(BLOCK)、超链类(LINK)和其他类(OTHER),不同类的结点对Web信息提取的重要度不同。
标题类(TITLE):指HTML文档中标题标签的专有类别。
正文类(CONTENT):指包含网页正文内容的标签类别,如包含文字的〈td〉标签。
视觉类(VISION):指描述页面显示特性的标签类别,如〈b〉、〈strong〉等。
分块类(BLOCK):指用于网页内容分块的标签类别,如〈table〉、〈tr〉等。
超链类(LINK):指包含超链接的标签类别,如〈a〉。
其他类(OTHER):指不属于以上5种类别的标签类型。

jQuery的DOM

使用 jQuery 选择器选择页面中的元素,是为了生成 jQuery 对象,jQuery 对象具有特有的方法和属性,完全能够实现传统 DOM 对象的所有功能 使用jQuery操作元素 使用选择器获取某个元素 使用jQuery对象的方法操作元素。

DOM转jQuery对象 

jQuery 对象转换成 DOM 对象
使用 jQuery 中的 get() 方法,其语法结构为:get([index])
如果get()方法不带参数,get()方法会返回所有匹配元素的DOM对象,并将它们包含在一个数组中
DOM 对象转换成 jQuery 对象
对于一个 DOM 对象,只需要用 $() 将它包装起来就可以获得对应的 jQuery 对象,其语法结构为:$(DOM 对象 )

示例:

利用js的DOM修改颜色,使用jQuery对象修改文本内容

<h1>点击变颜色·变文字</h1>
<script src="js/jquery-3.4.1.min.js"></script>
<script type="text/javascript">$(function() {$("h1").click(function() {// 添加style样式this.style.color = "red"; //DOM 对象// 修改文本内容$("h1").text("I Have A Dream!"); // jQuery对象});});
</script>

点击后:

DOM样式添加

<ul><li>宫廷玉叶酒</li><li>一百八一杯</li><li>问我怎么样</li><li>看我给你吹</li>
</ul>
<script src="js/jquery-3.4.1.min.js"></script>
<script type="text/javascript">$(function() {$("ul").css("list-style", "none");$("ul li").css("float", "left");$("ul li").css("marginLeft", "5%");});
</script>

jQuery元素属性设置

设置单个属性: jQuery 对象.css(name,value);  //其中name为样式名称,value为样式的值 同时设置多个属性: jQuery 对象.css({name:value,name:value,name:value…});

上面的例子能看到设置单个属性,我们下面这个案例就是同时设置多个属性。 

<ul><li>宫廷玉叶酒</li><li>一百八一杯</li><li>问我怎么样</li><li>看我给你吹</li>
</ul>
<script src="js/jquery-3.4.1.min.js"></script>
<script type="text/javascript">$(function() {$("ul").css("list-style", "none");$("ul li").css({"float": "left","marginLeft": "5%"});});
</script>

示例2:

当我们点击文字的时候会添加一个【p_text】class,对应的style就会生效。

<style>.p_text {font-weight: bolder;font-size: 1.5rem;background-color: pink;}
</style>
<p id="content">我们使用添加class的方法来控制样式</p>
<script src="js/jquery-3.4.1.min.js"></script>
<script type="text/javascript">$(function() {$("#content").click(function() {$(this).addClass("p_text");});});
</script>

触发后:

删除class 

toggle切换

    <style>.yidong2112 li {float: left;margin-left: 5%;}</style><button onclick="toggle()">添加class/删除class</button><ul><li>聪明伶俐·大班长</li><li>英俊潇洒·团支书</li><li>毅力惊人·组织委</li><li>身强体壮·体育委</li></ul><script src="js/jquery-3.4.1.min.js"></script><!-- 添加自定义脚本 --><script>function toggle() {$("ul").toggleClass("yidong2112");}</script>

未添加效果:

添加效果:

html()与text()区别

触发后:

    <button onclick="onStart()">触发事件</button><div id="show"><h1>My Heart Will Go On!</h1></div><div id="show1"><h1>My Heart Will Go On!</h1></div><script src="js/jquery-3.4.1.min.js"></script><script>function onStart() {$("#show").text("<h1>泰坦尼克主题曲:《爱无止境》</h1>");$("#show1").html("<h1>泰坦尼克主题曲:《爱无止境》</h1>");}</script>

DOM添加图片

    <img width="500px" /><script src="js/jquery-3.4.1.min.js"></script><script>// 图片地址var url = "https://img-blog.csdnimg.cn/1adfd1e77019411b9b95d281c362193a.png";$(function() {$("img").attr("src", url);});</script>

纯dom添加元素

    <script src="js/jquery-3.4.1.min.js"></script><script>$(function() {// 自创的一个dom对象var h1 = "<h1 align='center' id='show'>我有一梦想想,愿世界都充满爱。</h1>";// 将自创的dom对象添加到body中$("body").append(h1);$("#show").css("color", "red");$("#show").css("font-family", "华文行楷");});</script>

克隆元素

<h1>我是克隆体X——X号精钢狼</h1>
<div id="show"></div>
<script src="js/jquery-3.4.1.min.js"></script>
<script>$(function() {$("h1").clone(true).appendTo($("#show"));$("h1").clone(true).appendTo($("#show"));$("h1").clone(true).appendTo($("#show"));$("h1").clone(true).appendTo($("#show"));});
</script>

复制了4次,共出现了15个元素+原来的1个元素。 

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

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

相关文章

OpenFlow协议原理及基本配置-网络测试仪实操

一、OpenFlow协议原理 1.OpenFlow技术背景 ●转发和控制分离是SDN网络的本质特点之一。在SDN网络架构中&#xff0c;控制平面与转发平面分离&#xff0c;网络的管理和状态在逻辑上集中到一起&#xff0c;底层的网络基础从应用中独立出来&#xff0c;由此&#xff0c;网络获得…

2022 APMCM亚太数学建模竞赛 C题 全球是否变暖 问题二python代码实现(更新完毕)

更新信息 2022-11-24 10:00 更新问题1和问题2 思路 2022-11-24 23:20 更新问题一代码 2022-11-25 11:00 更新问题二代码 相关链接 【2022 APMCM亚太数学建模竞赛 C题 全球是否变暖 问题一python代码实现】 【2022 APMCM亚太数学建模竞赛 C题 全球是否变暖 问题二python代…

基于深度学习的AI绘画为何突然一下子火了?

CLIP &#xff5c;Midjourney | dreamstudio AIGC | Stable Diffusion | Imagen 随着Disco、Midjourney、dreamstudio 、AIGC、Stable Diffusion、Imagen、深度学习、高性能计算、数据分析、数据挖掘等技术的快速发展&#xff0c;AI绘画技术得到迅速发展。 即使今年年初的AI绘…

期末复习 C语言再学习

作者&#xff1a;小萌新 专栏&#xff1a;C语言复习 作者简介&#xff1a;大二学生 希望能和大家一起进步 博客简介&#xff1a;本篇博客会介绍一些操作符关键字指针以及结构体 操作符关键字和结构体操作符左右移操作符条件操作符关键字指针结构体总结操作符 本文就不像之前写…

Java多线程(一)——多线程的创建

多线程 在计算机中为了提高内存和资源的利用率&#xff0c;引入了并发编程的思想&#xff1b;多进程和多线程都能实现并发编程&#xff0c;但是多线程相对于多进程更“轻量”&#xff0c;&#xff08;多线程和多线程的关系和区别&#xff09;&#xff0c;所以这篇博客将着重讲…

Python程序员:代码写的好,丝滑的壁纸少不了

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 不知道大家的电脑桌面一般用的什么类型的壁纸&#xff1f; 早上来上班&#xff0c;打开电脑&#xff0c;被漂亮的桌面壁纸所吸引&#xff0c;年底将近&#xff0c;这又是哪个地方的节日&#xff…

【目标检测】英雄联盟能用YOLOv5实时目标检测了 支持onnx推理

目录 一、项目介绍 二、项目结构 三、准备数据 1.数据标注 2.数据转换格式 四、执行训练 1.anchors文件 2.标签文件 3.预训练模型 4.训练数据 5.修改配置 6.执行训练 五、执行预测 1.检测图片 2.检测视频 3.heatmap 五、转换onnx 1.导出onnx文件 2.检测图片…

SpringCloud之入门

目录 一、简介 微服务架构介绍 微服务架构的常见问题 二、微服务架构拆分代码实现 微服务环境搭建 案列准备 微服务调用 实现步骤 创建一个父工程 创建成功spcloud-shop的pom依赖 创建基础模块 基础模块 shop-common pom依赖 创建用户微服务 shop-user 源码 shop-use…

热门编程语言那么多,该选择哪个

编程语言那么多&#xff0c;该怎么选呢&#xff1f;无论是对找工作、还是打算转行新领域的同学们&#xff0c;起初都会有这样的困扰。这时候了解清楚编程语言的种类&#xff0c;到底该选哪个方向&#xff1f;将来能从事哪些岗位的工作&#xff1f;就比较重要了。与其盲目随从他…

【FLASH存储器系列十二】Nand Flash芯片使用指导之二

目录 1.1 芯片指令集 1.2 READ PAGE&#xff08;00h–30h&#xff09; 1.3 READ PAGE CACHE SEQUENTIAL (31h) 1.4 READ PAGE CACHE RANDOM (00h-31h) 1.5 PROGRAM PAGE&#xff08;80h-10h&#xff09; 1.6 PROGRAM PAGE CACHE (80h-15h) 1.7 ERASE BLOCK (60h-D0h) 上…

Git版本控制工具使用

文章目录1. CICD系统构成和流程1.1 CICD来源及概念1.2 Git版本控制系统2. Git操作和使用git config (基本配置操作)git clone <repo URL\> (创建仓库|拷贝已有仓库)git branch (分支相关操作- 创建|查看|删除)git checkout (操作文件和分支)git add/commit (提交和修改-保…

估值破千亿,被资本疯抢的广汽埃安会是广汽的未来吗?

最近&#xff0c;广汽埃安在新能源市场上捷报频传&#xff0c;先是宣布完成了182.94亿元的A轮融资&#xff0c;成近年国内新能源整车最大的单笔私募融资。品牌估值更是达到了震撼人心的1032.39亿&#xff0c;基本等于广汽集团AH总市值&#xff0c;也远超港股小鹏、零跑汽车的市…

【C++】Cmake使用教程(看这一篇就够了)

文章目录引言一 环境搭建二 简单入门2.1 项目结构2.2 示例源码2.3 运行查看三 编译多个源文件3.1 在同一个目录下有多个源文件3.1.1 简单版本3.1.1.1 项目结构3.1.1.2 示例代码3.1.1.3 运行查看3.1.2 进阶版本3.1.2.1 项目结构3.1.2.2 示例源码3.1.2.3 运行查看3.2 在不同目录下…

[附源码]java毕业设计游戏战队考核系统

项目运行 环境配置&#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…

vue拖拽删除实现

拖拽删除 背景 自营上传图片&#xff0c;但是需要排序和删除功能&#xff0c;所以用到了h5的拖拽 源元素&#xff1a; 即被拖拽的元素。 目标元素&#xff1a; 即合法的可释放元素。 每个事件的事件主体都是两者之一。 拖拽事件 触发顺序及次数 被拖拽元素&#xff0c;事…

数据结构学习笔记(Ⅳ):串

目录 1 串 1.1 定义与基本操作 1.定义 2.基本操作 1.2 串的存储结构 1.顺序存储 2.链式存储 3.基于顺序存储实现基本操作 2 串的朴素模式匹配算法 2.1 朴素模式匹配算法 2.2 KMP算法 1.优化思路 2.计算next数组 2.3 KMP算法优化 1 串 1.1 定义与基本操作 1.定义…

机器学习笔记之高斯网络(二)高斯贝叶斯网络

机器学习笔记之高斯网络——高斯贝叶斯网络引言回顾高斯网络贝叶斯网络&#xff1a;因子分解高斯贝叶斯网络&#xff1a;因子分解引言 上一节介绍了高斯网络及其条件独立性&#xff0c;本节将介绍高斯贝叶斯网络。 回顾 高斯网络 高斯网络最核心的特点是&#xff1a;随机变…

【软件测试】作为测试人,因工作与开发吵了一架碰撞,该咋办......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 测试与开发在工作中…

Redis数据库redisDb源码分析

写在前面 以下内容是基于Redis 6.2.6 版本整理总结 一、组织方式 Redis服务器将所有的数据库 都保存在src/server.h/redisServer结构中的db数组中。db数组的每个entry都是src/server.h/redisDb结构&#xff0c;每个redisDb结构代表一个数据库。Redis默认有16个数据库。 1.1…

Android App开发音量调节中实现拖动条和滑动条和音频管理器AudioManager讲解及实战(超详细 附源码和演示视频)

需要源码请点赞关注收藏后评论区留下QQ~~~ 一、拖动条和滑动条 拖动条SeekBar继承自进度条ProgressBar&#xff0c;它与进度条的不同之处在于&#xff0c;进度条只能在代码中修改进度值&#xff0c;不能由用户改变进度值&#xff0c;拖动条不仅可以在代码中修改进度值&#xf…