jQuery 的 DOM 操作-上

简介: jQuery 的 DOM 操作-上

jQuery 的 DOM 操作

查找节点, 修改属性

查找属性节点: 查找到所需要的元素之后, 可以调用 jQuery 对象的 attr() 方法来获取它的各种属性值

应用实例

1. <!DOCTYPE html>
2. <html lang="en">
3. <head>
4. <meta charset="UTF-8">
5. <title>操作节点的属性</title>
6. <script type="text/javascript" src="../script/jquery-3.6.0.min.js"></script>
7. <script type="text/javascript">
8.         $(function () {
9. //给button绑定一个click事件
10.             $("button").click(function () {
11.                 $("img").attr("src", "../image/1.png");
12.                 $("img").attr("height", "200");
13.             })
14.         });
15. </script>
16. </head>
17. <body>
18. <img src="../image/2.png" height="100"/>
19. <br/>
20. <button>设置图像的 height 属性</button>
21. </body>
22. </html>

创建节点

● 创建节点介绍

1.创建节点: 使用 jQuery 的工厂函数 $(): $(html标签); 会根据传入的 html 标记字符串创建一个 jQuery 对象, 并返回

2.动态创建的新元素节点不会被自动添加到文档中, 而是需要使用其他方法将其插入到文档中;

3.当创建单个元素时, 需注意闭合标签和使用标准的 XHTML 格式.

例如创建一个<p>元素, 可以使用 $("<p/>") 或 $("<p></p>"), 但不能使用 $("<p>") 或 $("</P>")

4.创建文本节点就是在创建元素节点时直接把文本内容写出来; 创建属性节点也是在创建元素节点时一起创建

● 第 1 组方法(内部插入法)

1.append(content) :向每个匹配的元素的内部的结尾处追加内容, 举例 A.append(B)

(1) A, B 都是jquery对象,

(2) 表示把B对象插入到A对象内部的结尾处

(3) 结果是: B对象成为A对象的子元素/节点

2.appendTo(content) :将每个匹配的元素追加到指定的元素中的内部结尾处 , 举例A.appendTo(B)

解读

(1) A, B都是jquery对象

(2) 表示把 A对象 插入到B对象内部结尾处

(3)结果是 A对象成为B对象的子元素/节点

3.prepend(content):向每个匹配的元素的内部的开始处插入内容, 举例说明 A.prepend(B)

解读

(1) A, B都是jquery对象,

(2) 表示把B对象插入到A对象内部的开始处,

(3) 结果 B成为A的子元素/节点

4.prependTo(content) :将每个匹配的元素插入到指定的元素内部的, 举例说明A.prependTo(B)

解读

(1) A, B都是jquery对象

(2) 表示把A对象插入到B对象内部的开始处

(3) 结果 A成为B的子元素/节点

5.说明: 内部插入法是在 元素内插入内容(该内容变成该元素的子元素或节点)

● 第 2 组方法(外部插入法)

1.after(content) :在每个匹配的元素之后插入内容 , 举例说明 A.after(B)

解读

(1) A,B都是jquery对象

(2) 表示B对象插入到A对象后面

(3) 结果:B成为A的兄弟节点

2.before(content):在每个匹配的元素之前插入内容, 举例 A.before(B)

解读

(1)A, B都是jquery对象

(2) 表示B对象插入到A对象前面

(3) 结果是 B成为A的兄弟节点,并且在A的前面

3.insertAfter(content):把所有匹配的元素插入到另一个、指定的元素元素集合的后面 , 举例说明 A.insertAfter(B)

解读(1) A, B都是jquery对象

(2) 表示把A对象插入到B对象的后面

(3) 结果:A成为B的后一个兄弟节点

4.insertBefore(content) :把所有匹配的元素插入到另一个、指定的元素元素集合的前面,举例 A.insertBefore(B),

解读 (1) A, B都是jquery对象

(2) 表示把A对象插入到B对象的前面

(3) 结果是 A成为B的前一个兄弟

5.说明: 外部插入法是在元素的外面插入内容(其内容变成元素的兄弟节点)

6. 注意: 以上方法不但能将新的 DOM 元素插入到文档中, 也能对原有的 DOM 元素进行移动(可以完成很多需求.).

创建节点-应用实例之添加

1. <!DOCTYPE html>
2. <html lang="en">
3. <head>
4. <meta charset="UTF-8">
5. <title>创建节点-应用实例</title>
6. <style type="text/css">
7. div, span {
8. width: 140px;
9. height: 140px;
10. margin: 20px;
11. background: #9999CC;
12. border: #000 1px solid;
13. float: left;
14. font-size: 17px;
15. font-family: Roman;
16.         }
17. 
18. div.mini {
19. width: 30px;
20. height: 30px;
21. background: #CC66FF;
22. border: #000 1px solid;
23. font-size: 12px;
24. font-family: Roman;
25.         }
26. </style>
27. <script type="text/javascript" src="../script/jquery-3.6.0.min.js"></script>
28. <script type="text/javascript">
29. 
30.         $(function () {
31. //添加重庆li到上海下(使用dom的传统方法)
32.             $("#b1").click(function () {
33. //1. 创建重庆li
34. var cq_li = document.createElement("li");
35. //2. 设置属性和内容
36.                 cq_li.setAttribute("id", "cq");
37.                 cq_li.setAttribute("name", "chongqing");
38.                 cq_li.innerText = "重庆";
39. //3. 添加到指定元素后面
40. document.getElementById("sh").append(cq_li);
41.             })
42. 
43. //*****添加重庆li到 上海下-jquery完成添加节点
44.             $("#b2").click(function () {
45. //创建好重庆li
46. var $cq_li = $("<li id=\"cq\" name=\"chongqing\">重庆~</li>");
47. //内部插入法append
48. //$("#sh").append($cq_li);
49. //外部插入法
50.                 $("#sh").after($cq_li);//推荐...
51. //$cq_li.insertAfter($("#sh"));
52.             })
53. 
54. 
55. //*** 添加成都li到 北京前
56.             $("#b3").click(function () {
57. //创建成都li
58. var $cd_li = $("<li id=\"cd\" name=\"chengdou\">成都</li>");
59. //添加到北京li前面-玩一把[感受外部插入和内部插入区别]
60. //$("#bj").prepend($cd_li);//内部插入
61.                 $("#bj").before($cd_li);//外部插入
62.             })
63. 
64. //*** 添加成都li到 北京和上海之间
65.             $("#b4").click(function () {
66. //创建成都li
67. var $cd_li = $("<li id=\"cd\" name=\"chengdou\">成都~~~~</li>");
68. //外部插入
69. //$("#bj").after($cd_li);
70.                 $("#sh").before($cd_li);
71.             })
72. 
73. //*** 添加成都li到 吉林前面
74.             $("#b5").click(function () {
75. //创建成都li
76. var $cd_li = $("<li id=\"cd\" name=\"chengdou\">成都#</li>");
77. //外部插入
78.                 $("#jl").before($cd_li);//推荐
79. //$cd_li.insertBefore($("#jl"));
80.             })
81. 
82.         })
83. </script>
84. </head>
85. <body>
86. <ul id="city">
87. <li id="bj" name="beijing">北京</li>
88. <li id="sh" name="shanghai">上海</li>
89. <li id="jl" name="jilin">吉林</li>
90. <li id="my" name="mianyang">绵阳</li>
91. </ul>
92. 
93. <input type="button" id="b1" value="添加重庆li到 上海下(使用dom的传统方法)"/><br/><br/>
94. <input type="button" id="b2" value="添加重庆li到 上海下"/><br/><br/>
95. <input type="button" id="b3" value="添加成都li到 北京前"/><br/><br/>
96. <input type="button" id="b4" value="添加成都li到 北京和上海之间"/><br/><br/>
97. <input type="button" id="b5" value="添加成都li到 吉林前面"/><br/>
98. 
99. </body>
100. </html>

创建节点-应用实例之移动

1. <!DOCTYPE html>
2. <html lang="en">
3. <head>
4. <meta charset="UTF-8">
5. <title>移动节点</title>
6. <script type="text/javascript" src="../script/jquery-3.6.0.min.js"></script>
7. <script type="text/javascript">
8.         $(function () {
9. //****使用外部插入法 把反恐li移动天津后
10.             $("#b1").click(function () {
11.                 $("#tj").after($("#fk"));
12.             })
13. 
14. //****使用内部插入法 把反恐li移动天津后
15.             $("#b2").click(function () {
16.                 $("#tj").append($("#fk"));
17.             })
18. 
19.         })
20. </script>
21. </head>
22. <body>
23. 您喜欢的城市:<br>
24. <ul id="city">
25. <li id="bj" name="beijing">北京</li>
26. <li id="sh" name="shanghai">上海</li>
27. <li id="tj" name="tianjin">天津</li>
28. </ul>
29. 
30. 您爱好的游戏:<br>
31. <ul id="game">
32. <li id="fk" name="fakong">反恐</li>
33. <li id="cq" name="chuangqi">传奇</li>
34. </ul>
35. <input type="button" id="b1" value="使用after插入法 把反恐li移动天津后"/><br/><br/>
36. <input type="button" id="b2" value="使用append插入法 把反恐li移动天津后"/><br/><br/>
37. </body>
38. </html>

删除节点

● 删除节点介绍

remove(): 从 DOM 中删除所有匹配的元素, 传入的参数用于根据 jQuery 表达式来筛选元素.

当某个节点用 remove() 方法删除后, 该节点所包含的所有后代节点将被同时删除. 这个方法的返回值是一个指向已被删除的节点的引用.

empty(): 清空节点 – 清空元素中的所有后代节点(不包含属性节点)

应用实例

1. <!DOCTYPE html>
2. <html lang="en">
3. <head>
4. <meta charset="UTF-8">
5. <title>删除节点-应用实例</title>
6. <script type="text/javascript" src="../script/jquery-3.6.0.min.js"></script>
7. <script type="text/javascript">
8.         $(function () {
9. //*****删除所有p
10.             $("#b1").click(function () {
11.                 $("p").remove();
12.             })
13. //***所有p清空
14.             $("#b2").click(function () {
15.                 $("p").empty();
16.             })
17. //****删除上海这个li
18.             $("#b3").click(function (){
19.                 $("#sh").remove();
20.             })
21.         });
22. </script>
23. </head>
24. <body>
25. 您喜欢的城市:<br>
26. <ul id="city">
27. <li id="bj" name="beijing">北京</li>
28. <li id="sh" name="shanghai">上海</li>
29. <li id="tj" name="tianjin">天津</li>
30. </ul>
31. 
32. 您爱好的游戏:<br>
33. <ul id="game">
34. <li id="fk" name="fakong">反恐</li>
35. <li id="cq" name="chuangqi">传奇</li>
36. </ul>
37. 
38. <p>Hello</p> how are <p>you?</p>
39. 
40. 
41. <p name="test">Hello, <span>Person</span> <a href="#">and person</a></p>
42. 
43. <input type="button" value="删除所有p" id="b1"/>
44. <input type="button" value="所有p清空" id="b2"/>
45. <input type="button" value="删除上海这个li" id="b3"/>
46. </body>
47. </html>


目录
相关文章
|
2月前
|
JavaScript 前端开发 开发者
深入了解jQuery:轻松实现高效的DOM操作
【10月更文挑战第11天】深入了解jQuery:轻松实现高效的DOM操作
66 0
|
3月前
|
JavaScript 前端开发
jQuery 操作 DOM 及 CSS
本文介绍了如何使用jQuery进行DOM操作和CSS样式的修改,包括如何获取和设置元素的文本内容、属性值、添加和删除元素,以及如何使用jQuery的addClass、removeClass、toggleClass、hasClass和css方法来操作元素的CSS。通过示例代码,展示了jQuery在实际开发中的便捷性。
jQuery 操作 DOM 及 CSS
|
7月前
|
缓存 JavaScript
|
3月前
|
JSON JavaScript 前端开发
Jquery常用操作汇总,dom操作,ajax请求
本文汇总了jQuery的一些常用操作,包括DOM元素的选择、添加、移除,表单操作,以及如何使用jQuery发送Ajax请求,涵盖了GET、POST请求和文件上传等常见场景。
|
2月前
|
JavaScript 前端开发 API
深入理解jQuery:高效DOM操作与事件处理
【10月更文挑战第11天】深入理解jQuery:高效DOM操作与事件处理
22 0
|
6月前
|
JavaScript 前端开发 UED
JavaScript基础-DOM操作:查找、创建、修改
【6月更文挑战第12天】本文介绍了DOM基础,包括查找元素(getElementById、getElementsByClassName等)、创建新节点(createElement、createTextNode)和修改节点(innerText、innerHTML、setAttribute等)。强调了易错点,如ID唯一性、性能考量和安全问题,并提供了代码示例。熟练掌握DOM操作对前端开发至关重要,但应注意性能优化,适时使用框架或库。
70 2
JavaScript基础-DOM操作:查找、创建、修改
|
6月前
|
JavaScript 前端开发
DOM操作有哪些方法可以改变元素的样式?
【6月更文挑战第30天】DOM操作有哪些方法可以改变元素的样式?
47 2
|
6月前
|
JavaScript 前端开发 开发者
DOM操作
【6月更文挑战第30天】DOM操作
40 1
|
6月前
|
JavaScript 前端开发 安全
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
|
5月前
|
JavaScript 前端开发 API
前端框架与库 - jQuery基础与DOM操作
【7月更文挑战第18天】jQuery 是一个简化JavaScript任务的库,以其“write less, do more”理念著称。核心功能包括DOM操作、事件处理和Ajax。DOM操作如选择元素(`$(&quot;p&quot;)`、`$(&quot;#myDiv&quot;)`、`$(&quot;.myClass&quot;)`)、创建及添加元素、修改属性和内容。事件处理如绑定(`click`)和触发(`trigger`)。常见问题涉及`$`符号冲突(使用`jQuery`代替)、异步加载管理和选择器性能优化。了解并规避这些问题能提升jQuery使用效率。
37 0