jQuery的DOM操作之笔记总结

news/2024/5/20 18:29:58/文章来源:https://blog.csdn.net/Wzc0720/article/details/131892920

                         jQuery的DOM操作之笔记总结

首先我们来介绍一下什么是DOM

简述:

1.DOM全称Document Object Model(文档对象模型)。

2.每个文档都是一棵DOM结构的树,文档里的很多元素,就像树上的很多节点,或是分叉的树枝,我们可以通过jQuery对任意的节点进行操作,并且可以控制它的样式和属性。

内容结构:

1.  节点操作 2.  CSS样式操作 3.  属性操作 4.内容和值操作5. Dom遍历

1.  节点操

                查找、创建、插入、删除、复制、替换、包裹、属性、清空节点

        查找元素节点:

<p title="选择你最喜欢的运动">你最喜欢的运动是</p>

<ul>

        <li title="游泳">游泳</li>

        <li title="足球">足球</li>

        <li title="跑步">跑步</li>

</ul>

var $li=$("ul li:eq(1)");

var li_text=$li.text();

alert(li_text);

         查找属性节点:

attr() 方法也用于获取/设置/改变属性值。

var $pra=$("p");

var p_text=$pra.attr(“title”);  //获取属性

alert(p_text);

$("button").click(function(){

     $(“#w3s”).attr(“href”,“http://www.w3school.com.cn/jquery”);

    //设置单个属性

});

$("button").click(function(){ $("#w3s").attr({

    //设置多个属性

    "href" : "http://www.w3school.com.cn/jquery",

     "title" : "W3School jQuery Tutorial" });

});

1、append( )方法 

方法 作用:向匹配的元素内部的末尾追加内容。追加的内容如果包含HTML标签,则会创建该元素。

例如: 原HTML代码:

   <ul>

       <li>第一条内容</li>

   <ul>

然后执行jQuery代码:

         $("ul").append("<li>新的一条内容</li>");

   //这里选择器选择的是<ul>元素

最后结果:

   <ul>

       <li>第一条内容</li>

       <li>新的一条内容</li>

   <ul>

2、prepend( )方法

作用:向匹配的元素内部的开头插入内容。

注意:这里是在开头前置内容,而append()是在末尾追加内容。

例如: 原HTML代码:

   <ul>

       <li>第一条内容</li>

   <ul>

然后执行jQuery代码:

   $("ul").prepend("<li>新的一条内容</li>");

   //这里选择器选择的是<ul>元素

最后结果:

   <ul>

       <li>新的一条内容</li>

       <li>第一条内容</li>

     <ul> 

 3、after( )方法

作用:在匹配的元素的后面插入内容,而不是像append()和prepend()是在元素的内部插入。

例如: 原HTML代码:

   <ul>

       <li>第一条内容</li>

   <ul>

然后执行jQuery代码:

   $("li").after("<li>又是一条新的内容</li>");

   //这里选择器选择的是<li>元素

最后结果:

   <ul>

       <li>第一条内容</li>

       <li>又是一条新的内容</li>

   <ul>

 4、before( )方法

作用:在匹配的元素的前面插入内容。after()是在后面插入,before()是在前面插入。

例如: 原HTML代码:

   <ul>

       <li>第一条内容</li>

   <ul>

然后执行jQuery代码:

   $("li").before("<li>又是一条新的内容</li>");

   //这里选择器选择的是<li>元素

最后结果:

   <ul>

       <li>又是一条新的内容</li>

       <li>第一条内容</li>

   <ul>

 5、insertBefore( )方法

     作用:insertBefore() 方法在一个指定的子节点之前插入一个节点。insertAfter()是在后面插入,

例如: 原HTML代码:

<ul>

       <li>这是第一条 内容</li>

       <li>这是第二条 内容</li>

       <li>这是第三条 内容</li>

  <ul>

然后执行jQuery代码:

      $new=$("<li>这是新插入的节点</li>");

      $li=$("ul li:eq(1)");  //$li代表第二个

      $new.insertBefore($li)最后结果:

<ul>

       <li>这是第一条 内容</li>

       <li>这是新插入的节点 </li>

       <li>这是第二条 内容</li>

       <li>这是第三条 内容</li>

  <ul>    

 6、remove( )方法

作用:删除所有匹配的元素,以及它所包含的所有子节点,然后返回一个指向已被删除的节点的引用,因此可以以后再使用这些元素。

例如: 原HTML代码:

   <ul>

       <li>第一条内容</li>

   <ul>

先执行jQuery代码: var drops = $("ul").remove();   //先删除,返回一个引用

第一个结果:为空

然后添加一行jQuery代码: $("body").append(drops);  //再将该引用添加到页面中

第二个结果:

   <ul>

       <li>第一条内容</li>

   <ul>

 7、empty( )方法

作用:清空匹配元素的所有子节点的内容,但不是删除节点。

例如: 原HTML代码:

   <ul>

       <li>第一条内容</li>

   <ul>

然后执行jQuery代码:

   $("li").empty();

结果:

  显示只有<li>标签默认的符号一个点“.”,但是没有文字内容

 8. Clone([true])

作用:clone() 方法生成被选元素的副本,包含子节点、文本和属性。

$(function(){  

   $("ul li").click(function() {

        $(this).clone([true]).appendTo("ul");

        })

});

备注: true克隆出来的副本还可以继续克隆,flase只能克隆一次,不写默认为false

9. replaceWith():  替换节点

$("p").replaceWith("<strong>你最不喜欢的水果是?</strong>")

10、包裹节点

     wrap

     wrapAll  

     wrapInner

$("p").wrap("<div></div>")

$("p").wrapAll("<div></div>")

$("p").wrapInner("<b></b>")

2.css样式操作

1、css( )方法

作用:获取或者设置元素的单个或多个样式属性。

说明:无论是通过HTML元素的style属性设置的内联样式,还是外部CSS文件导入的样式

     都可以通过css()方法获取到它们的样式属性。

(1). 获取元素的某个样式属性:css(样式名)

  例如:$("a").css('color');   获取<a>元素的样式颜色

(2). 设置元素的单个样式属性:css(样式名, 样式属性)

  例如:$("a").css('color',  'blue');   设置<a>元素的颜色为蓝色

(3). 同时设置元素的多个样式属性:css({“样式名1”:”样式属性1”, “样式名2”:”样式属性2”, …})

  说明:样式名/属性组要包含在大括号中

  例如:$("a").css({'color':'blue',  'font-size':'14px'});  将<a>元素设为蓝色,并且字体大小改为14px

2、width( )方法

作用:设置元素的宽度。如果不带参数则为获取元素的宽度。

例如:

$("#box").width();     //获取id="box"的元素的宽度

$("#box").width('100px');    //设置id="box"的元素的宽度为100px

3、height( )方法

作用:设置元素的高度。如果不带参数则为获取元素的高度。

例如:

$("#box").height();     //获取id="box"的元素的高度

$("#box").height('200px');    //设置id="box"的元素的高度为200px

4、addClass( )方法

作用:向匹配的元素追加指定的一个或多个类。

(1). 向元素添加一个类:addClass(类名)  

  例如:

        HTML代码:<p class="red">This is title</p>

        jQuery代码:$("p").addClass('big');

    结果:<p class="red  big">This is title</p>

(2). 向元素添加多个类:addClass(类名1  类名2   ...)

   说明:多个类名之间用空格分隔

    例如:

        HTML代码:<p class="red">This is title</p>

        jQuery代码:$("p").addClass('big  bold');

    结果:<p class="red  big  bold">This is title</p>

5、removeClass( )方法

作用:从匹配的元素中删除指定的一个或多个类。

(1). 删除元素的一个类:removeClass(类名)

  例如:HTML代码:<p class="red  big  bold">This is title</p>

                jQuery代码:$("p").removeClass('red');

        结果:<p class="big  bold">This is title</p>

(2). 删除元素的多个类:removeClass(类名1  类名2  ...) 多个类名之间用空格分隔

 例如:HTML代码:<p class="red  big  bold">This is title</p>

               jQuery代码:$("p").removeClass('big  bold');

       结果:<p class="red">This is title</p>

(3). 删除元素所有的类:removeClass( )  不带参数

  例如:HTML代码:<p class="red big bold">This is title</p>

                 jQuery代码:$("p").removeClass();

        结果:<p >This is title</p>

6   toggleClass( )方法

toggleClass() 对设置或移除被选元素的一个或多个类进行切换。

该方法检查每个元素中指定的类。如果不存在则添加类,如果已设置则删除之。这就是所谓的切换效果。

$("button").click(function(){

     $("p").toggleClass(“none");

});

 7、offset( )方法

作用:获取/设置元素在当前视窗的偏移值,即top与left 。

 $(selector).offset({top:100,left:0})

var offset=$("div").offset();

var left = offset.left;

var top = offset.top;

var num=0;

$(“:button:contains('+')").click(function(){

num+=10;

$("div").offset({left:num});

})

$(“:button:contains('-')").click(function(){

num-=10;

$("div").offset({left:num});

})

8、position( )方法

作用:获取元素相对于最近一个position样式为absolute或relative的父节点的相对偏移

$("button:contains('+')").click(function(){

var add = $("div").position().left+=10;

$("div").css("left",add+"px")

})

$("button:contains('-')").click(function(){

var sub = $("div").position().left-=10;

$("div").css("left",sub+"px")

})

9、scrollTop( )、scrollLeft()方法

作用:获取元素的滚动条距顶端及距左端的距离

 

 $(function(){

$("button").click(function(){

$("html,body").scrollTop(200)

})

})

3.属性操作    

    查找属性节点:

               attr() 方法也用于获取/设置/改变属性值。

                var $pra=$("p");

                var p_text=$pra.attr(“title”);  //获取属性

                alert(p_text);

$("button").click(function(){

     $(“#w3s”).attr(“href”,“http://www.w3school.com.cn/jquery”);

    //设置单个属性

});

$("button").click(function(){ $("#w3s").attr({

    //设置多个属性

    "href" : "http://www.w3school.com.cn/jquery",

     "title" : "W3School jQuery Tutorial" });

});

CSS样式操作:获取或修改颜色、字体、高度、宽度等样式属性

4.内容和值操作

        内容和值操作:获取或设置元素内的HTML代码、文本和值

1、html( )方法

作用:获取或者设置某个元素中的HTML内容。类似于javascript中的innerHTML属性。

     不带参数时为获取元素的HTML内容。

例如:

HTML代码:<p>内容</p>

jQuery代码:$("p").html('<span>新的内容</span>');

运行结果:新的内容

2、text( )方法

作用:获取或者设置某个元素中的文本内容。类似于javascript中的innerText属性。

     不带参数时为获取元素的文本内容。

注意:这里如果有HTML标签,会被当成纯文本,而不会被解析。

例如:

HTML代码:<p>内容</p>

jQuery代码:$("p").text('<span>新的内容</span>');

运行结果:<span>新的内容</span>

3、val( )方法

作用:获取或者设置某个表单元素的值,如文本框(多行)、单选框、下拉列表等。类似于javascript      中的value属性。不带参数时为获取元素的value属性。

例如:

HTML代码:<input  type="text"  value="请输入您的名称" />

运行jQuery代码:$("input").val("请再次输入您的名称");     //修改元素的value属性

运行结果:请再次输入您的名称 

4、 defaultValue方法[勿用此属性,js]

作用:属性可设置或返回文本框或密码域的默认值。

<script type="text/javascript">

function alertValue() {

                       alert(document.getElementById("password1").defaultValue

) }

</script>

<form>

   <input type="password" id="password1" value="thgrt456" />

   <input type="button" id="button1" οnclick="alertValue()“

    value="Show default value" />

</form>

jQuery文档操作

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

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

相关文章

集成学习——Boosting算法:Adaboost、GBDT、XGBOOST和lightGBM的简要原理和区别

1、Boosting算法 Boosting算法是通过串联的方式&#xff0c;将一组弱学习器提升为强学习器算法。它的工作机制如下&#xff1a; &#xff08;1&#xff09;用初始训练集训练出一个基学习器&#xff1b; &#xff08;2&#xff09;依据基学习器的表现对训练样本分布进行调整&…

WPF实现DiagramChart

1、文件架构 2、FlowChartStencils.xaml <ResourceDictionary xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:s"clr-namespace:DiagramDesigner"xmlns:c&…

算法通关村第一关-链表白银挑战笔记|公共子节点

两个链表公共子节点问题 提示&#xff1a;大家都在做什么&#xff1f; 不做什么。就是等夏天结束 文章目录 两个链表公共子节点问题前言题目&#xff1a;提供四种解决方法的思路&#xff1a;拿到题目要怎么思考&#xff1a;审题哈希表或集合实现使用栈来实现拼接字符串实现 (组…

短视频矩阵源码开发搭建分享--多账号授权管理

目录 文章目录 前言 一、矩阵号系统是什么&#xff1f; 二、使用步骤 1.创建推广项目 2.多账号授权 3.企业号智能客服系统 总结 前言 短视频多账号矩阵系统&#xff0c;通过多账号一键授权管理的方式&#xff0c;为运营人员打造功能强大及全面的“矩阵式“管理平台。…

从零构建深度学习推理框架-1 简介和Tensor

源代码作者&#xff1a;https://github.com/zjhellofss 本文仅作为个人学习心得领悟 &#xff0c;将原作品提炼&#xff0c;更加适合新手 什么是推理框架&#xff1f; 深度学习推理框架用于对已训练完成的神经网络进行预测&#xff0c;也就是说&#xff0c;能够将深度训练框…

UE虚幻引擎教程_生成云平台指定路径下的exe文件

市面上大量优秀的游戏都是基于UE制作的&#xff0c;UE虚幻引擎制作的作品可以在windows、mac、linux以及ps4、x-boxone、ios、android甚至是html5等平台上运行。本文介绍了UE虚幻引擎如何生成云平台指定路径下的EXE。 一、云平台会运行打包文件夹下指定路径的EXE文件 但有时候…

【多选框、表格全选】element el-checkbox、el-table

话不多说 先看效果&#xff1a; 多选框&#xff1a; 表格全选&#xff1a; <template><div><div class"titleLabel"><div class"lineStyle"></div>统计部门</div><div style"display: flex"><e…

项目开启启动命令整合

启动RabbitMQ管理插件 1.启动 RabbitMQ 管理插件。 rabbitmq-plugins enable rabbitmq_management rabbitmq-server # 直接启动&#xff0c;如果关闭窗⼝或需要在该窗⼝使⽤其他命令时应⽤就会停⽌ rabbitmq-server -detached # 后台启动 rabbitmq-server start # 启⽤服务 rab…

(二)安装部署InfluxDB

以下内容来自 尚硅谷&#xff0c;写这一系列的文章&#xff0c;主要是为了方便后续自己的查看&#xff0c;不用带着个PDF找来找去的&#xff0c;太麻烦&#xff01; 第 2 章 安装部署InfluxDB 1、linux 安装方式如下 通过包管理工具安装&#xff0c;比如apt 和yum直接下载可执…

springboot()—— 集成redis

1、新建一个springboot项目 2、添加redis依赖包 可以在新建项目的时候就选上 也可以建完项目以后手动导入pom.xml <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </d…

2023年基准Kubernetes报告:6个K8s可靠性失误

云计算日益成为组织构建应用程序和服务的首选目的地。尽管一年来经济不确定性的头条新闻主要集中在通货膨胀增长和银行动荡方面&#xff0c;但大多数组织预计今年的云使用和支出将与计划的相同&#xff08;45%&#xff09;&#xff0c;或高于计划的&#xff08;45%&#xff09;…

装饰模式-扩展系统功能

买了新车后&#xff0c;不少人会对车进行装饰&#xff0c;比如给车贴膜&#xff0c;喷上骚粉的漆等。某天&#xff0c;小李和小张都买了辆车&#xff0c;小李想给车贴膜&#xff0c;小张想给车先喷漆然后再贴膜。现在中的做法是&#xff0c;把车开到改装店&#xff0c;如果要喷…

浏览器调试Android App

浏览器调试Android App 1. 背景2. 调试工具3. 手机设置4. 打开浏览器(edge)5. 连接手机6. 点击inspect 开始调试 1. 背景 在工作中经常会遇到在原生app中嵌套h5&#xff0c; 但是在某些需要在app里面调试的内容&#xff0c; 却没有像chrome开发者工具这样的工具来帮助我们快速…

react 在build读取env 数据

默认会读取.env 文件 npm install dotenv --save npm install dotenv-cli --save-dev例如读取.env.test "build:test": "dotenv -e .env.test react-app-rewired build",.env.test REACT_APP_CURRENTMODE devREACT_APP_Public_Path "https://baid…

[NLP]使用Alpaca-Lora基于llama模型进行微调教程

Stanford Alpaca 是在 LLaMA 整个模型上微调&#xff0c;即对预训练模型中的所有参数都进行微调&#xff08;full fine-tuning&#xff09;。但该方法对于硬件成本要求仍然偏高且训练低效。 [NLP]理解大型语言模型高效微调(PEFT) 因此&#xff0c; Alpaca-Lora 则是利用 Lora…

算法竞赛入门【码蹄集新手村600题】(MT1040-1060)

算法竞赛入门【码蹄集新手村600题】(MT1040-1060&#xff09; 目录MT1041 求圆面积和周长MT1042 求矩形的面积和周长MT1043 椭圆计算MT1044 三角形面积MT1045 平行四边形MT1046 菱形MT1047 梯形MT1048 扇形面积MT1049 三角形坐标MT1050 空间三角形MT1051 四边形坐标MT1052 直角…

Java通过URL对象实现简单爬虫功能

目录 一、URL类 1. URL类基本概念 2. 构造器 3. 常用方法 二、爬虫实例 1. 爬取网络图片&#xff08;简易&#xff09; 2. 爬取网页源代码 3. 爬取网站所有图片 一、URL类 1. URL类基本概念 URL&#xff1a;Uniform Resource Locator 统一资源定位符 表示统一资源定位…

day39-Password Strength Background(密码强度背景)

50 天学习 50 个项目 - HTMLCSS and JavaScript day39-Password Strength Background&#xff08;密码强度背景&#xff09; 效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name&quo…

Linux 学习记录57(ARM篇)

Linux 学习记录57(ARM篇) 本文目录 Linux 学习记录57(ARM篇)一、外部中断1. 概念2. 流程图框 二、相关寄存器1. GIC CPU Interface (GICC)2. GIC distributor (GICD)3. EXTI registers 三、EXTI 寄存器1. 概述2. 内部框图3. 寄存器功能描述4. EXTI选择框图5. EXTI_EXTICR1 &…

go-zero学习 第六章 分布式事务dtm

go-zero学习 第六章 分布式事务dtm 1 参考文档2 官方示例3 go-zero使用dtm参考代码3.1 go-zero支持dtm 代码操作步骤※3.2 gozerodtm 代码操作步骤 4 注意事项4.1 grpc接口地址※4.2 动态调用过程4.3 dtm的回滚补偿4.4 barrier的空补偿、悬挂等4.5 barrier在rpc中本地事务 1 参…