jQuery的DOM操作之笔记总结

news2024/11/22 22:24:06

                         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.coloradmin.cn/o/787020.html

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

相关文章

【Git】git仓库完整迁移

代码仓库&#xff0c;在公司有两个团队在做&#xff0c;并且gitlab所在环境不互通。有一个团队做的时间久一点&#xff0c;另一个团队想要用并做一些定制。就需要将代码转移到另一个gitlab管理。 参考&#xff1a;【Git】git仓库完整迁移&#xff08;代码&#xff0c;分支&…

ubuntu挂载ext4文件系统

文章目录 1.虚拟机分配10G磁盘用来挂载ext4文件系统2.磁盘分区3.创建文件系统4.挂载文件系统5.卸载文件系统6.使用ior测试ext4三种日志模式&#xff08;1&#xff09;ordered&#xff08;2&#xff09;journal&#xff08;3&#xff09;writeback 1.虚拟机分配10G磁盘用来挂载e…

编码类型 ASCII URLcode编码 Unicode编码 utf编码理解

编码类型 ASCII URLcode编码 Unicode编码 utf编码理解 bin是二进制 oct是八进制 hex是16进制 Ord()检测ASCII码&#xff0c;python3也可查中文 HTML实体编码能被html页面解析&#xff0c;使用ord&#xff08;&#xff09;对单个字符查看转换后结果&#xff0c;字母就是ASCII…

B2B2C开源多语言多商户跨境外贸网站部署开发

随着全球化的发展&#xff0c;跨境外贸成为了许多企业拓展业务的重要方向。搭建一个B2B2C开源多语言多商户跨境外贸网站&#xff0c;将有助于实现企业的全球化经营。那么&#xff0c;如何搭建一个B2B2C跨境外贸网站呢&#xff1f; 一、选择合适的开源平台 在搭建一个B2B2C跨境…

【设计模式】单例设计模式详解(包含并发、JVM)

文章目录 1、背景2、单例模式3、代码实现1、第一种实现&#xff08;饿汉式&#xff09;为什么属性都是static的&#xff1f;2、第二种实现&#xff08;懒汉式&#xff0c;线程不安全&#xff09;3、第三种实现&#xff08;懒汉式&#xff0c;线程安全&#xff09;4、第四种实现…

用i18next使你的应用国际化-Vue

ref: https://www.i18next.com/ 在vue项目中安装相关依赖&#xff1a; i18nexti18next-vuei18next-browser-languagedetector&#xff0c;用于检测用户语言 npm install i18next i18next-vue i18next-browser-languagedetector创建i18n.js文件&#xff1a; import i18next f…

FUNBOX_SCRIPTKIDDIE靶机详解

FUNBOX_SCRIPTKIDDIE靶机复盘 这个靶场给了太多的干扰因素&#xff0c;当你打完后反过来再看是非常简单的一个靶场&#xff0c;但是你打的过程中却会觉得非常难&#xff0c;干扰因素实在天多了。 题目中给了说加一条hosts&#xff0c;实际没用上。 对IP进行一个单独扫描后发现…

【设计模式——学习笔记】23种设计模式——建造者模式Builder(原理讲解+应用场景介绍+案例介绍+Java代码实现)

介绍 建造者模式又叫生成器模式&#xff0c;是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别)&#xff0c;使这个抽象过程的不同实现方法可以构造出不同属性的对象建造者模式是一步一步创建一个复杂的对象&#xff0c;它允许用户只通过指定复杂对象的类型和…

【MATLAB第60期】基于MATLAB的ARMAX具有外生回归因子的移动平均自回归模型

【MATLAB第60期】源码分享 | 基于MATLAB的ARMAX具有外生回归因子的移动平均自回归模型 一、简要介绍 ARMAX模型相比ARMA考虑了影响因素 &#xff0c;即可以实现基于时间序列数据的回归预测。目前&#xff0c;ARMAX预测未来功能存在困难&#xff0c;本篇文章不予介绍。大致思路…

Windows环境开发常用指令

今日一语&#xff1a;熟能生巧&#xff0c;只有多做才不容易忘记&#xff0c;只有多想才会发生改变 MySQL redis可手动进入windows服务管理进行检查&#xff0c;检查运行状态是否正常&#xff0c;否则需要手动启动 Redis 进入redis解压的文件地址&#xff0c;启动CMD窗口&a…

车辆驾驶自动化分级

车辆驾驶自动化分级 无自动化驾驶 由人类驾驶员全权操作车辆&#xff0c;车辆在行驶中可以得到预警和保护系统的辅助作用 驾驶辅助 在系统作用范围内&#xff0c;通过系统对转向、制动、驱动等系统中的一项进行短时间连续控制&#xff0c;其他的驾驶动作都由人类驾驶员进行…

Android NDK工具使用

快速定位到NDK安装目录 打开你的 .bash_profile vim &#xff5e;/.bash_profile 设置ndk的环境变量 ANDROID_HOME"/Users/xxxx/Library/Android/sdk" export NDK${PATH}:${ANDROID_HOME}/ndk/21.3.6528147 //这个就是你的快捷指令 alias ndkalias ndk${ANDROID_…

7.Docker-compose

文章目录 Docker-compose概念Docker-compose部署YAML文件格式和编写注意事项注意数据结构对象映射序列属组布尔值序列的映射映射的映射JSON格式文本换行锚点和引用 Docker compose配置常用字段docker compose常用命令Docker Compose 文件结构docker compose部署apachedocker co…

常见的正则表达式

目录 问题现象&#xff1a; 问题分析&#xff1a; 解决方法&#xff1a; 拓展&#xff1a; 1、手机号或座机&#xff1a; 2、邮箱&#xff1a; 3、中文&#xff1a; 4、数字&#xff1a; 5、英文&#xff1a; 6、组合&#xff1a; 问题现象&#xff1a; 今天在项目中&…

使用预训练的2D扩散模型改进3D成像

扩散模型已经成为一种新的生成高质量样本的生成模型&#xff0c;也被作为有效的逆问题求解器。然而&#xff0c;由于生成过程仍然处于相同的高维&#xff08;即与数据维相同&#xff09;空间中&#xff0c;极高的内存和计算成本导致模型尚未扩展到3D逆问题。在本文中&#xff0…

【用Vscode实现简单的python爬虫】从安装到配置环境变量到简单爬虫以及python中pip和request,bs4安装

第一步&#xff1a;安装python包 可以默认&#xff0c;也可以选择自己想要安装的路径 第二步&#xff1a;配置python环境变量&#xff0c;找到我的电脑->属性->高级 然后将刚刚安装的路径配置到path路径下&#xff1a; 然后cmd 运行 输入python命令&#xff0c;如果出现…

mongodb本地连接失败解决方案

启动项目时&#xff0c;本地连接mongodb失败 这个是本地服务没有启动 其实我也挺奇怪&#xff0c;我明明设置的是自动启动 *解决方案一 1.我的电脑-> 管理 2. 服务和应用管理-> 服务 3. 找到mongoDB Server 右键启动 *解决方案二 1. 找到mongodb安装目录&#xff0c…

使用 Logstash 及 enrich processor 实现数据丰富自动化

在我之前的文章&#xff1a; Elasticsearch&#xff1a;enrich processor &#xff08;7.5发行版新功能&#xff09; Elasticsearch&#xff1a;使用 Elasticsearch ingest pipeline 丰富数据 通过上面的两篇文章的介绍&#xff0c;我们应该充分掌握了如何使用 enrich proce…

【DDD】业务领域定义

文章目录 前言一、什么是业务子领域&#xff1f;二、子领域的类型有哪些&#xff1f;2.1、核心子领域2.2、通用子领域2.3、支撑子领域 三、子领域差异对比3.1、竞争优势比较3.2、复杂性比较3.3、易变性比较3.4、实时策略比较 总结 前言 一个业务领域是一个公司的主要活动领域的…

python:基于GeoPandas和GeoViews库将GEDI激光高程数据映射到交互式地图

作者:CSDN @ _养乐多_ 本文将介绍 GEDI(Global Ecosystem Dynamics Investigation)激光雷达数据某数据点波形数据提取,并绘制图表,添加其他图表元素并使图表具有交互性。 在本文中,我们将探索如何打开、读取和处理GEDI数据,并利用地理信息处理库GeoPandas和地理空间数…