jQuery的DOM操作之笔记总结

                         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.mzph.cn/news/7152.shtml

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

相关文章

知识库数据导出为excel-使用JavaScript实现在浏览器中导出Excel文件

我们智能客服知识库机器人已经开发完成&#xff0c;后端数据库是使用的qdrant向量数据库&#xff0c;但是该数据库并没有导出备份功能&#xff0c;所以我按简单的纯前端实现知识库导出excel数据 使用第三方库(如SheetJS) SheetJS是一个流行的JavaScript库&#xff0c;可帮助处理…

腾讯云 Cloud Studio 实战训练营——快速构建React完成点餐H5页面

目录 ​编辑 一、前言 1、什么是腾讯云 Cloud Studio 2、本文实验介绍 二、前期准备工作 1、注册 Cloud Studio 2、初始化工作空间 三、开发一个简版的点餐系统页面 1、安装依赖 1.1、安装 antd-mobile 1.2、安装 less 和 less-loader 1.3、暴露 webpack 配置文件 …

OpenCV实现照片换底色处理

目录 1.导言 2.引言 3.代码分析 4.优化改进 5.总结 1.导言 在图像处理领域&#xff0c;OpenCV是一款强大而广泛应用的开源库&#xff0c;能够提供丰富的图像处理和计算机视觉功能。本篇博客将介绍如何利用Qt 编辑器调用OpenCV库对照片进行换底色处理&#xff0c;实现更加…

Stable Diffusion生成艺术二维码

Stable Diffusion生成艺术二维码 文章会有浏览问题&#xff0c;点击此处查看原文 首先需要一个Stable Diffusion服务环境&#xff0c;《Stable Diffusion服务环境搭建&#xff08;远程服务版&#xff09;》如果你已经有了那就忽略 一、准备一个比较好的二维码底图 首先解析二…

STC12C5A系列单片机片内看门狗的应用

wdt.c #include "wdt.h"void wdt_init(void) {WDT_CONTR 0x24; // 0010 0100 - 1.1377s }void wdt_feed(void) {WDT_CONTR | 0x10; // 喂狗 }wdt.h #ifndef _WDT_H_ #define _WDT_H_#include "stc12c5a60s2.h"// 函数声明 extern void wdt_init(void); …

uniapp开启消息通知/提示(使用uniPush)

亲爱的小伙伴们&#xff0c;最近对uniPush有稍许研究&#xff0c;当前研究出一些心得&#xff0c;现在分项给大家&#xff0c;希望对大家的uniapp之路有所帮助。本次的教程是教会你如何使用uniPush自定义消息通知&#xff0c;同时还附带添加消息提示音添加&#xff0c;多的不说…

【Spring MVC学习】连接 接收请求参数 响应返回参数

目录 前言&#xff1a;认识Spring MVC &#x1f337;1、什么是MVC&#xff1f; 一、建立连接&#xff08;5个注解&#xff09; &#x1f337;1、RequestMapping注解:注册接⼝的路由映射&#xff08;默认返回页面&#xff09; &#x1f337;2、ResponseBody注解&#xff1a…

unity调用c++dll时变量处理问题

在C中为了处理方便可以将有些局部变量变为全局变量。 以下面三个变量为例 如果还有新全局变量需要这其来赋值&#xff0c;就会有问题。 如下面的body1_ptr为了dll生成处理方便&#xff0c;变为全局变量后&#xff0c;这个指针变赋值就会有问题。 因为geometry_path这个只在调…

Ubuntu22.04上部署Lua开发环境

需求背景 想在Ubuntu22.04上搭建一下Lua的开发环境&#xff0c;其实步骤比较简单的&#xff0c;此文章也适用于Ubuntu主机环境搭建Lua,如果想在在Ubuntu内部署一个容器&#xff0c;然后在容器内搭建Lua的环境&#xff0c;可以先参考容器的创建过程 ubuntu22.04上如何创建有pri…

字节抖音小程序,使用 uniapp 调起内置支付

字节抖音小程序&#xff0c;使用 uniapp 调起内置支付 第一步&#xff1a;提交订单 后端通过抖音预下单接口&#xff0c;提交支付订单信息。 预下单接口_小程序_抖音开放平台预下单接口 提交支付订单信息。 ## 使用限制 无 ## 接口说明 预下单接口需要保证同一app_id下每笔订…

Linux6.15 Docker 私有仓库(harbor)

文章目录 计算机系统5G云计算第四章 LINUX Docker 私有仓库&#xff08;harbor&#xff09;一、搭建本地私有仓库二、Docker--harbor私有仓库部署与管理1.Harbor 简介1&#xff09;什么是Harbor2&#xff09;Harbor的特性3&#xff09;Harbor的构成 2.Harbor 部署1&#xff09;…

【深度学习-神经网络架构-通俗易懂的入门课程】

文章目录 深度学习与AI的关系机器学习的流程机器学习的核心以及问题深度学习要解决的问题模型如何搭建&#xff1f;特征如何提取&#xff1f;为什么要深度学习&#xff1f; 深度学习的应用深度学习的问题计算机视觉任务分类与检索如何实现分类 神经网络基础线性函数损失函数防止…

树状数组笔记

数组、前缀和、树状数组的区别&#xff1a; 数组&#xff1a;修改某点O&#xff08;1&#xff09;&#xff0c;求区间O&#xff08;n&#xff09; 前缀和&#xff1a;修改某点O&#xff08;n&#xff09;&#xff0c;求区间O&#xff08;1&#xff09; 树状数组&#xff1a;修改…

YOLOv5(v7.0)网络修改实践二:把单分支head改为YOLOX的双分支解耦合head(DecoupleHead)

前面研究了一下YOLOX的网络结构&#xff0c;在YOLOv5(tag7.0)集成了yolox的骨干网络&#xff0c;现在继续下一步集成YOLOX的head模块。YOLOX的head模块是双分支解耦合网络&#xff0c;把目标置信度的预测和目标的位置预测分成两条支路&#xff0c;并验证双分支解耦合头性能要优…

力扣 56. 合并区间

题目来源&#xff1a;https://leetcode.cn/problems/merge-intervals/description/ C题解&#xff1a;根据左区间排序&#xff0c;更新每一段的右区间最大值&#xff0c;直到间断。 class Solution { public:static bool cmp(vector<int> & a, vector<int> &a…

Linux实训笔记~操作系统概述

1、操作系统 操作系统作为接口的示意图: 没有安装操作系统的计算机, 通常被称为裸机。 2、不同应用利于的主流操作系统 桌面操作系统 服务器操作系统 嵌入式操作系统 移动设备操作系统

计算机网络——网络层

文章目录 **1 网络层的功能****1.1 异构网络互连****1.2 路由与转发****1.3 SDN的基本概念****1.4 拥塞控制** **2 路由算法****2.1 静态路由和动态路由****2.2 距离-向量路由算法&#xff08;动态&#xff09;****2.3 链路状态路由算法&#xff08;动态&#xff09;****2.4 层…

技术速览|Meta Llama 2 下一代开源大型语言模型

AI 使用大型语言模型&#xff08;LLM&#xff09;来理解和生成自然语言。LLM 可以从大量文本中学习并创建有关各种主题的文本&#xff0c;并可以完成比如编写代码、生成歌词、总结文章等任务。但有些 LLM 相关课程成本高昂且封闭&#xff0c;而现有的开放课程数量十分有限。这就…

Python爬虫+数据可视化:分析唯品会商品数据

目录 前言数据来源分析1. 明确需求2. 抓包分析&#xff1a;通过浏览器自带工具: 开发者工具 代码实现步骤: 发送请求 -> 获取数据 -> 解析数据 -> 保存数据发送请求解析数据保存数据 数据可视化先读取数据泳衣商品性别占比商品品牌分布占比各大品牌商品售价平均价格各…

LINUX中的myaql(一)安装

目录 前言 一、概述 二、数据库类型 三、数据库模型 四、MYSQL的安装 &#xff08;一&#xff09;yum安装MYSQL &#xff08;二&#xff09;rpm安装MYSQL 五、MYSQL本地登录 rpm安装MYSQL本地登录 六、重置密码 总结 前言 MySQL是一种常用的开源关系型数据库管理系统&#xff…