jQuery中的DOM操作

本文详细介绍了使用 jQuery 进行 DOM 操作的方法,包括元素属性、内容和样式的操作,以及节点的创建、插入、复制、替换和遍历等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jQuery中的DOM操作

DOM对象和jQuery对象的区别

DOM对象:DOM(Document Object Model),即文本对象模型,每一个页面都是一个DOM对象,通过传统的JavaScript方法访问页面中的元素,就是访问DOM对象。

jQuery对象:jQuery对象就是通过jQuery包装DOM对象后产生的对象。

DOM为文档提供了一种结构化表示方法,通过该方法可以改变文档的内容和展示形式。

1.     访问元素

在访问页面时,需要与页面中的元素进行交互式的操作。在操作中,元素的访问是最频繁、最常用的,主要包括对元素属性、内容、值CSS的操作。

(1)    元素属性操作

① 获取元素的属性

attr(name)  [name表示属性的名称]

② 设置元素的属性

在页面中,attr()方法不仅可以获取元素的属性值,还可以设置元素的属性

attr(key,value)   [key表示属性的名称,value表示属性的值]

如果要设置多个属性

attr({key1:value1, key2:value2})

③ 删除元素的属性

通过attr()方法设置元素的属性后,可以使用removeAttr()方法将元素的属性删除

removeAttr(name)   [name为元素属性的名称]   

简记

attr(属性)

获取

attr(属性,属性值)

设置

使用JSON方式设置一个属性值

attr({””:””})

使用JSON方式设置多个属性值

attr({””:””,””:””…})

P.S.1 prop()方法使用方法同上

P.S.2 attr()方法可以一次设置多个属性值,但只能获取一个属性值

      

实例:

<!DOCTYPEhtml>

<html>

<headlang="en">

    <meta charset="UTF-8">

    <title>访问元素</title>

    <scriptsrc="jquery-3.0.0.js"></script>

    <script>

        $(function(){

           $("#all").click(function(){

               $(".check").attr("checked",true)

            })

           $("#reverse").click(function(){

                $(this).attr({"type":"text", "value": "输入..."});//其可以一次设置多个属性

                for(var i=0;i<$(".check").length;i++){

                   $(".check:eq("+i+")").prop("checked",!$(".check:eq("+i+")").prop("checked"));

                    //或者也可以写成$(".check").eq(i).prop("checked",!$(".check").eq(i).prop("checked"));

                    //attr()只能设置checked值,不能获取checked值,所以可以使用prop()

                }

            })

        })

    </script>

</head>

<body>

<inputtype="button" value="全选" id="all"/>

<inputtype="checkbox" class="check"/>唱歌

<inputtype="checkbox" class="check"/>跳舞

<inputtype="checkbox" class="check"/>吃饭

<inputtype="checkbox" class="check"/>睡觉

<inputtype="checkbox" class="check"/>玩耍

<inputtype="button" value="反选" id="reverse"/>

</body>

</html>

(2)元素内容操作

       jQuery中,元素内容操作方法包括html()和text()

html()

功能

获取或设置元素的HTML内容

无参数(括号里没有内容)

获取元素的HTML内容

有参数(括号里有内容)

设置元素的HTML内容

text()

功能

获取或设置元素的文本内容

无参数(括号里没有内容)

获取元素的文本内容

有参数(括号里有内容)

设置元素的文本内容

val()

功能

获取或设置元素的值

无参数(括号里没有内容)

获取value值

有参数(括号里有内容)

设置value值

P.S. html()方法仅支持XHTML的文档,不能用于XML文档,而text()方法既支持HTML文档,也支持XML文档

实例:

<!DOCTYPEhtml>

<html>

<headlang="en">

    <meta charset="UTF-8">

    <title>元素内容操作</title>

    <scriptsrc="jquery-3.0.0.js"></script>

    <script>

        $(function(){

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

                $(".btn").val("我的value值被设置了");

               alert($(".btn").val());

                //.val() 全称value 带参 设置value值;不带参 获取value值

            })

            alert($(".span").html());

           $(".span").html("HELLO WORLD");

            //.html() 带参 设置html值  不带参 获取html值

           alert($(".span1").text());

           $(".span1").text("HELLO WORLD");

            //.text() 带参 设置text值  不带参 获取text值

        })

    </script>

</head>

<body>

<inputtype="button" value="点击设置" class="btn"/>

<spanclass="span"><span>hello world</span></span>

<spanclass="span1"><span>hello world</span></span>

</body>

</html>

(3)元素样式操作

         ①直接设置元素样式值

              通过css()方法为某个指定的元素设置样式值

              css(name,value)  [name表示样式名称,value表示样式的值]

eg.

.css(“border”)

获取样式

.css(“border”,”1px solid red”)

设置样式

.css({“border”:”1px solid red”,”color”:”yellow”})

设置多个样式

        ②增加类别(给元素增加类名称)

           addClass()   [括号内是类别的名称]

           其也可以增加多个类别名称,类别之间用空格隔开即可

③删除元素的类名称

removeClass()

removeClass()

无参数

将类名称全删除

有参数

只删除括号内写的类名称

其也可以删除多个类别名称,类别之间用空格隔开即可

④类别切换

toggleClass() [判断有没有括号内写的类名称,有----将其删除;没有----将其添加]

实例:

<!DOCTYPE html>

<html>

<head lang="en">

   <meta charset="UTF-8">

   <title>元素样式操作</title>

   <style>

       .addclass{

           border: solid 2px yellow;

           outline: none;

       }

       .addclass1{

           background-color: #35c7ff;

       }

       #change{

           background-color: #00b262;

           border: dotted 2px black;

       }

       .del{

           border: dotted 1px green;

       }

       .choose{

           background-color: #6f47cd;

           outline: none;

       }

   </style>

   <script src="jquery-3.0.0.js"></script>

   <script>

       $(function(){

           $("#add").click(function(){

               $("#add").addClass("addclass addclass1");

                //.addClass() 给元素增加类名称  同时追加多个,之间用空格隔开

           });

           $("#change").click(function(){

               $("#change").css({"border":"solid 1pxblue","backgroundColor":"pink","outline":"none"})

                //.css(name,value)   获取和设置样式,只有name是获取样式

           });

           $("#delete").click(function(){

               $("#delete").removeClass("del");

                ////.removeClass() 给元素删除类名称  同时删除多个,之间用空格隔开

           });

           $("#choose").click(function(){

               $("#choose").toggleClass("choose");

                //.toggleClass() 会判断有没有()中写的东西,有 他会将其删除,没有 他会将其加上

           })

       })

   </script>

</head>

<body>

<input type="button"value="点击添加样式" id="add"/>

<input type="button"value="点击改变样式" id="change"/>

<input type="button"value="点击删除样式" id="delete" class="del"/>

<input type="button"value="点击判断" id="choose"/>

</body>

</html>

2.     元素节点操作
(1)    创建节点

$(html)

eg. var block=$(“<div></div>”);

(2)    插入节点

按照插入元素的顺序来分,有内部和外部两种插入方法。

①  内部插入节点

给元素内部的内容之后追加

append()

appendTo()

eg.  被加.append(加)

     $(“body“).append(block);

     加.appndTo(被加)

     Block.appendTo($(“body“));


给元素内部的内容之前追加

prepend()

prependTo()

②  外部插入节点

after()

在当前元素外部之后追加

before()

在当前元素外部之前追加

insertAfter()

将当前元素追加到指定元素外部之后

insertBefore()

将当前元素追加到指定元素外部之前

           eg.  $(this).after(text);   

 $(this).before(text);

 text.insertAfter($(this));

 text.insertBefore($(this));

(3)    复制节点

clone()   默认值为false

clone()

功能

复制匹配的DOM元素并选中复制成功的元素

参数true

深度克隆,会克隆它的功能

参数false

表面克隆,不会克隆它的功能

(4)    替换节点

replaceWith()   将所有选择的元素替换成指定的HTML或DOM元素

$(this).replaceWith(text);    后面的代替前面的

replaceAll()     将所有选择的元素替换成指定的selector的元素

text.replaceAll($(this));   前面的代替后面的

(5)    包裹节点

wrap()   包裹  将所选择的元素用其他代码包裹起来

unwrap()    移除包裹元素

wrapAll()    将所选择的元素用一个包裹起来

wrapInner()    包裹当前所选元素的子节点元素

实例:

<!DOCTYPE html>

<html>

<head lang="en">

   <meta charset="UTF-8">

   <title>元素节点操作</title>

   <style>

       .b{

           width: 180px;

           height: 30px;

           background-color: #0AA6E8;

       }

        .sp{

           height: 30px;

           background-color: #19C8A9;

       }

   </style>

   <!--创建节点插入节点(内部插入节点外部插入节点) 复制节点替换节点 包裹节点-->

   <script src="jquery-3.0.0.js"></script>

   <script>

       $(function(){

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

                var block=$("<spanclass='b'>我是点击之后创建的</span>");

                //创建节点

                block.insertAfter($(this));

                //让节点在其之后出来

           });

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

                var str=$("<spanclass='sp'>追加</span>");

               str.appendTo($("body"));

                //也可以写成$("body").append(str);

           });

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

                var before=$("<span>在其之前追加</span>");

               $(".before").before(before);//在class名为before的之前追加

           });

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

                var after=$("<span>在其之后追加</span>");

               $(".after").after(after);//在class名为after的之后追加

           });

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

                $(this).after($(".clone").clone(false));//在它之后进行表面克隆

                $(this).after($(this).clone(true));//在它之后进行深度克隆

                //.clone() 默认值为false 它有两个参数 true 深度克隆 即还会克隆它的功能 false 表面克隆 即不会克隆它的功能

           });

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

                var sth=$("<span>我是替换元素</span>");

               $(".change").replaceWith(sth);

                //或写为sth.replaceAll($(".change")/$(this))

           });

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

               $(this).wrap("<div></div>");//将其包裹在div中

                $(this).unwrap();//解除它的包裹

               $(this).wrapAll("<span></span>");//将所有选择的元素用一个包裹起来

               $(this).wrapInner("<span></span>");//包裹当前所选元素的子元素节点

           })

       })

   </script>

</head>

<body>

<input type="button"value="点击创建div" class="chuang"/>

<input type="button"value="点击追加" class="append"/>

<input type="button"value="点击在其之前追加" class="before"/>

<input type="button"value="点击在其之后追加" class="after"/>

<input type="button"value="点击克隆" class="clone"/>

<input type="button"value="点击替换" class="change"/>

<input type="button"value="点击包裹" class="bao"/>

</body>

</html>


3.     遍历元素

each()  遍历全部元素 也称为循环遍历(相当于JavaScript中的for  in循环)

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在 IT 领域,文档格式转换是常见需求,尤其在处理多种文件类型时。本文将聚焦于利用 Java 技术栈,尤其是 Apache POI 和 iTextPDF 库,实现 doc、xls(涵盖 Excel 2003 及 Excel 2007+)以及 txt、图片等格式文件向 PDF 的转换,并实现在线浏览功能。 先从 Apache POI 说起,它是一个强大的 Java 库,专注于处理 Microsoft Office 格式文件,比如 doc 和 xls。Apache POI 提供了 HSSF 和 XSSF 两个 API,其中 HSSF 用于读写老版本的 BIFF8 格式(Excel 97-2003),XSSF 则针对新的 XML 格式(Excel 2007+)。这两个 API 均具备读取和写入工作表、单元格、公式、样式等功能。读取 Excel 文件时,可通过创建 HSSFWorkbook 或 XSSFWorkbook 对象来打开相应格式的文件,进而遍历工作簿中的每个 Sheet,获取行和列数据。写入 Excel 文件时,创建新的 Workbook 对象,添加 Sheet、Row 和 Cell,即可构建新 Excel 文件。 再看 iTextPDF,它是一个用于生成和修改 PDF 文档的 Java 库,拥有丰富的 API。创建 PDF 文档时,借助 Document 对象,可定义页面尺寸、边距等属性来定制 PDF 外观。添加内容方面,可使用 Paragraph、List、Table 等元素将文本、列表和表格加入 PDF,图片可通过 Image 类加载插入。iTextPDF 支持多种字体和样式,可设置文本颜色、大小、样式等。此外,iTextPDF 的 TextRenderer 类能将 HTML、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值