前端基础之jQuery进阶
jQuery操作标签
1、类class操作
(1)原生js(DOMclass属性操作)
① 添加类名(classList.add())
- 您可以使用
classList.add()
方法向元素添加一个类名。
// 获取元素 var element = document.getElementById('myElement'); // 添加类名 element.classList.add('newClass');
② 移除类名(classList.remove())
- 您可以使用
classList.remove()
方法从元素中移除一个类名。
// 获取元素 var element = document.getElementById('myElement'); // 移除类名 element.classList.remove('oldClass');
③ 切换类名(classList.toggle())
- 您可以使用
classList.toggle()
方法来切换一个类名的存在状态。- 如果类名存在,则移除它;
- 如果不存在,则添加它。
// 获取元素 var element = document.getElementById('myElement'); // 切换类名 element.classList.toggle('active');
④ 检查是否包含某个类名(classList.contains())
- 您可以使用
classList.contains()
方法检查一个元素是否包含特定的类名,返回一个布尔值。
// 获取元素 var element = document.getElementById('myElement'); // 检查是否包含类名 if (element.classList.contains('myClass')) { // 包含类名的操作 }
(2)jQuery class属性操作
① 添加类名(addClass())
- 用于向元素添加一个或多个类名。如果指定的类名已存在,则不会添加。
$(element).addClass("class1 class2");
② 移除类名(removeClass())
- 用于从元素移除一个或多个类名。如果指定的类名不存在,则不会发生任何操作。
$(element).removeClass("class1 class2");
③ 切换类名(toggleClass())
-
用于在元素的类名中切换指定的类名。
-
如果类名不存在,则添加类名;
-
如果类名已存在,则移除类名。
-
$(element).toggleClass("class");
④ 检查是否包含某个类名(hasClass())
- 用于检查元素是否包含指定的类名,返回一个布尔值。
if ($(element).hasClass("class1")) { // 包含 class1 类名的处理逻辑 } else { // 不包含 class1 类名的处理逻辑 }
(3)总结
js版本 jQuery版本 classList.add() addClass() classList.remove() removeClass() classList.contains() hasClass() classList.toggle() toggleClass()
2、样式css操作
(1)语法
标签.css('属性','样式') // 选择了div标签并将它们的文本颜色设置为绿色。 $("div").css("color", "green");
(2)链式操作
① jQuery链式操作
使用jQuery可以做到一行代码操作很多标签
html: <p>JavaScript</p> <p>jQuery</p>
一行代码将第一个p标签变成红色第二个p标签变成绿色:
$('p').first().css('color','red').next().css('color','green')
② python中类似于jQuery中的链式操作
class Myclass(object): def func1(self): print('func1') return self def func2(self): print('func2') return self obj = Myclass() obj.func1().func2()
(3)总结
链式操作的本质:jQuery对象调用jQuery方法之后返回的还是当前jQuery对象 也就可以继续调用其他方法。
类似python的对象链式操作,也可以连续操作对象
3、标签的位置操作
(1)offset()
offset()
是 jQuery 中用于获取匹配元素在文档中的偏移(offset)坐标的方法。这个方法返回一个包含 top
和 left
属性的对象,这些属性表示元素相对于文档的偏移位置。
语法:
$(selector).offset()
示例:
假设有一个 <div>
元素如下:
<div id="myDiv">Hello, World!</div>
你可以使用 offset()
方法来获取该 <div>
元素相对于文档的偏移位置:
var offset = $("#myDiv").offset(); console.log("Top: " + offset.top + ", Left: " + offset.left);
返回值:
offset()
方法返回一个对象,该对象包含两个属性:
top
:表示元素顶部边缘相对于文档顶部的偏移量。left
:表示元素左侧边缘相对于文档左侧的偏移量。
注意事项:
offset()
方法返回的是相对于文档的偏移位置,而不是相对于父级元素的位置。- 如果你需要相对于父级元素的偏移位置,可以使用
position()
方法。
(2)position()
position()
是 jQuery 中用于获取匹配元素相对于父级元素的偏移位置的方法。与 offset()
方法返回元素相对于文档的偏移位置不同,position()
方法返回元素相对于最近的已定位祖先元素的偏移位置。
语法:
$(selector).position()
示例:
假设有以下 HTML 结构:
<div id="parent" style="position: relative;"> <div id="child">Hello, World!</div> </div>
你可以使用 position()
方法来获取子元素相对于父元素的偏移位置:
var position = $("#child").position(); console.log("Top: " + position.top + ", Left: " + position.left);
返回值:
position()
方法返回一个对象,该对象包含两个属性:
top
:表示元素顶部边缘相对于父元素顶部的偏移量。left
:表示元素左侧边缘相对于父元素左侧的偏移量。
注意事项:
position()
方法返回的是相对于最近的已定位祖先元素的偏移位置。- 如果元素的祖先元素都没有定位(position 属性为 relative、absolute、fixed 或 sticky),
position()
方法将返回相对于文档的偏移位置。
(3)scrollTop()
scrollTop()
是 jQuery 中用于获取或设置匹配元素的垂直滚动条偏移量的方法。这个方法适用于包含滚动条的元素,如窗口或包含滚动条的 <div>
元素。
获取垂直滚动条的偏移量:
var scrollOffset = $(selector).scrollTop();
设置垂直滚动条的偏移量:
$(selector).scrollTop(value);
selector
:要操作的元素选择器。value
:可选,要设置的垂直滚动条的偏移量值。
示例:
假设有一个包含滚动条的 <div>
元素:
<div id="scrollableDiv" style="height: 200px; overflow: auto;"> <!-- 大量内容 --> </div>
你可以使用 scrollTop()
方法来获取或设置该元素的垂直滚动条偏移量:
// 获取垂直滚动条的偏移量 var scrollOffset = $("#scrollableDiv").scrollTop(); console.log("垂直滚动条偏移量:" + scrollOffset); // 设置垂直滚动条的偏移量为 100px $("#scrollableDiv").scrollTop(100);
返回值:
- 当不提供参数时,
scrollTop()
方法返回匹配元素的当前垂直滚动条偏移量。 - 当提供参数时,
scrollTop()
方法设置匹配元素的垂直滚动条偏移量为指定值,并返回 jQuery 对象以支持链式调用。
scrollTop()
方法常用于控制滚动条位置,特别是在处理滚动事件时或需要通过编程方式滚动元素时。
(4)scrollLeft()
scrollLeft()
是 jQuery 中用于获取或设置匹配元素的水平滚动条偏移量的方法。这个方法适用于包含水平滚动条的元素,如窗口或包含水平滚动条的 <div>
元素。
获取水平滚动条的偏移量:
var scrollOffset = $(selector).scrollLeft();
设置水平滚动条的偏移量:
$(selector).scrollLeft(value);
selector
:要操作的元素选择器。value
:可选,要设置的水平滚动条的偏移量值。
示例:
假设有一个包含水平滚动条的 <div>
元素:
<div id="scrollableDiv" style="width: 200px; overflow: auto;"> <!-- 大量内容 --> </div>
你可以使用 scrollLeft()
方法来获取或设置该元素的水平滚动条偏移量:
// 获取水平滚动条的偏移量 var scrollOffset = $("#scrollableDiv").scrollLeft(); console.log("水平滚动条偏移量:" + scrollOffset); // 设置水平滚动条的偏移量为 50px $("#scrollableDiv").scrollLeft(50);
返回值:
- 当不提供参数时,
scrollLeft()
方法返回匹配元素的当前水平滚动条偏移量。 - 当提供参数时,
scrollLeft()
方法设置匹配元素的水平滚动条偏移量为指定值,并返回 jQuery 对象以支持链式调用。
scrollLeft()
方法通常用于控制水平滚动条位置,特别是在处理水平滚动事件时或需要通过编程方式滚动元素时。
# 位置操作 $(window).scrollTop() # 控制页面上下滚动的偏移量 0 $(window).scrollTop() 398.6666564941406 w.fn.init {0: Window, length: 1}
(5)总结
offset() // 获取该标签相对于浏览器窗口的位置参数 position() // 获取该标签相对于父标签的位置参数 scrollTop() // 获取或设置匹配元素的垂直滚动条偏移量 scrollLeft() // 获取或设置匹配元素的水平滚动条偏移量 // 括号内不加参数就是获取 $(window).scrollTop() // 获取当前(竖)滑动条与浏览器顶部的位置 $(window).scrollLeft() // 获取当前(横)滑动条与浏览器左部的位置距离 // 加了参数就是设置 $(window).scrollTop(0) $(window).scrollTop(500) // 跳到距离浏览器顶部500的位置 $(window).scrollLeft(500) // 跳到距离浏览器左侧500的位置 4.尺寸: # 尺寸 $('p').height() # 文本的高度 20 $('p').width() # 文本的宽度 850 $('p').innerHeight() # 文本+padding 26 $('p').innerWidth() 854 $('p').outerHeight() # 文本+padding+border 26 $('p').outerWidth() 854
4、尺寸操作
(1).height() 和 .width()
- 这两个方法用于获取或设置元素的高度和宽度。
- 如果不传递参数,它们分别返回元素的内容区域的高度和宽度。
- 如果传递一个数字作为参数,可以设置元素的高度和宽度。
(2).innerHeight() 和 .innerWidth()
- 这两个方法用于获取元素的内部高度和宽度,包括内容区域和内边距(padding)。
- 它们返回的值不包括边框和外边距。
(3).outerHeight() 和 .outerWidth()
- 这两个方法用于获取元素的外部高度和宽度,包括内容区域、内边距和边框,但不包括外边距。
- 可以通过传递一个布尔值参数来指定是否包括边框,默认为false。
(4).outerHeight(true) 和 .outerWidth(true)
- 这两个方法用于获取元素的完整的外部高度和宽度,包括内容区域、内边距、边框和外边距。
(5)总结
$('p').height() //获取p标签文本高度 $('p').width() //获取p标签文本宽度 $('p').innerHeight() //获取p标签文本+padding高 $('p').innerWidth() //获取p标签文本+padding宽 $('p').outerHeight() //获取p标签文本+padding+border高 $('p').outerwidth() //获取p标签文本+padding+border宽
5、文本操作
js方法 | jQuery方法 | 作用 |
---|---|---|
.innerText | .text() | 不填参数为获取文本,填写为设置文本 |
.innerHTML | .html() | 不填参数为获取html文档,填写为设置html文档 |
.value | .val() | 不填参数为获取用户输入的内容,填写为设置用户输入的内容 |
(1)js操作标签内部文本
① innerText
-
innerText属性用于设置或返回指定元素中的文本内容,不包括HTML标记。
-
当使用innerText属性时,所有HTML标记都将被视为纯文本并被直接显示在页面上。
-
这意味着如果在innerText中包含HTML标记,那么标记将被作为普通文本显示而不会被解析。
-
此外,innerText属性是只读的,即使尝试修改该属性的值也不会有任何效果。
使用示例:
<div id="myElement">This is <strong>bold</strong> text.</div> <script> var element = document.getElementById("myElement"); console.log(element.innerText); // 输出:"This is bold text." element.innerText = "Updated text"; // 尝试修改innerText但不会生效 </script>
② innerHTML
- innerHTML属性用于设置或返回指定元素的HTML内容,可以包含HTML标记和文本。
- 与innerText不同,使用innerHTML属性时,所有HTML标记都会被解析并在页面上正确渲染。
- 这意味着可以通过innerHTML属性来添加、修改或删除HTML元素及其属性。
- 需要注意的是,innerHTML属性可以导致代码注入攻击,因此使用时需谨慎验证并过滤用户输入。
使用示例:
<div id="myElement">This is <strong>bold</strong> text.</div> <script> var element = document.getElementById("myElement"); console.log(element.innerHTML); // 输出:"This is <strong>bold</strong> text." element.innerHTML = "Updated <em>text</em>"; // 修改innerHTML会动态更新页面中的内容 </script>
③ 总结
- innerText用于操作元素中的纯文本内容,不解析HTML标记,且是只读属性。
- innerHTML用于操作元素中的HTML内容,可以包含HTML标记
(2)jQuery操作标签内部文本
① .text()
- 获取文本内容:
var text = $(".my-element").text(); console.log(text);
- 设置文本内容:
$(".my-element").text("New text content");
② .html()
- 获取HTML内容:
var html = $(".my-element").html(); console.log(html);
- 设置HTML内容:
$(".my-element").html("<p>New HTML content</p>");
③ .val()
- 获取表单元素的值:
var value = $("#my-input").val(); console.log(value); // 获取input标签内的文件 // 先获取标签对象,再用标签对象去取文件 $("#my-input")[0].files[0];
- 设置表单元素的值:
$("#my-input").val("New value");
④ .append()
- 在每个匹配元素内部末尾插入内容:
$(".my-element").append("<span>Appended content</span>");
⑤ .prepend()
- 在每个匹配元素内部开头插入内容:
$(".my-element").prepend("<span>Prepended content</span>");
⑥ .after()
- 在每个匹配元素之后插入内容:
$(".my-element").after("<div>Content after</div>");
⑦ .before()
- 在每个匹配元素之前插入内容:
$(".my-element").before("<div>Content before</div>");
6、获取值操作
(1)原生js获取文本数据(.value)
标签.value // 获取标签的value值 标签.value = '' // 将标签的value值清空 标签.value = 'df' // 将标签的value值设置df
(2)jQuery获取文本数据(.val)
$('标签').val() // 获取标签的value值 $('标签').val('') // 将标签的value值清空 $('标签').val('df') // 将标签的value值设置df
(3)获取文件数据
js:fileEle.files[0] // 获取文件数据,要加索引[0],第一个才是文件数据 jQuery:$('标签')[0].files[0] // 转换标签对象再索取
ps:牢记dom对象和jQuery对象的转换
7、属性操作
js方法 | jQuery方法 | 作用 |
---|---|---|
setAttribute() | attr(name,value) | 设置/更改属性 |
getAttribute() | attr(name) | 获取属性 |
removeAttribute() | removeAttr(name) | 移除属性 |
ps:在用变量存储对象的时候,js中推荐使用xxxEle,而在jQuery中推荐使用$xxxEle
(1)jQuery普通属性操作
$pEle.attr('id') //获取id的属性 $pEle.attr('class','c1') //更改class属性为c1 $pEle.attr('password','123') //自定义属性也可以更改 $pEle.removeAttr('password') //删除password属性
(2)针对checked的特殊方法 prop()
.prop()
是 jQuery 中用于获取或设置元素属性值的方法。它通常用于处理元素的属性,例如复选框的 checked radio option属性、输入框的 disabled 属性等。如果在判断是否选中时,用attr时无法正确获取。则需要使用.prop()。
语法:
$(selector).prop(propertyName); $(selector).prop(propertyName, value);
propertyName
是要获取或设置的属性名称。value
是要设置的属性值。
示例:
// 获取复选框的 checked 属性值 var isChecked = $("#myCheckbox").prop("checked"); // 返回true/false // 自定义设置输入框的 disabled 属性为 true $("#myInput").prop("disabled", true);
在上述示例中,第一个示例演示了如何使用 .prop()
方法获取复选框的 checked 属性值,而第二个示例演示了如何将输入框的 disabled 属性设置为 true。
.prop()
方法通常用于处理元素的固有属性,而不是普通的属性。
(3)总结
- 对于标签上有的能够看到的属性和自定义属性用attr
- 对于返回布尔值比如checkbox radio option是否被选中用prop
(4)补充
① 隐藏标签 .hide()
hide()
是 jQuery 中用于隐藏元素的方法。使用 hide()
方法可以将匹配的元素设置为不可见。
语法:
$(selector).hide(speed, callback);
speed
参数可选,指定隐藏的速度,可以是毫秒数或预定义的字符串值(如 "slow" 或 "fast")。callback
参数可选,指定隐藏完成后要执行的回调函数。
示例:
// 隐藏id为"myElement"的元素 $("#myElement").hide(); // 慢速隐藏id为"myElement"的元素 $("#myElement").hide("slow"); // 在隐藏完成后执行回调函数 $("#myElement").hide(1000, function(){ console.log("Element is now hidden"); });
在上述示例中,hide()
方法用于隐藏指定的元素。您可以选择设置隐藏的速度,也可以在隐藏完成后执行回调函数。
② 显示标签 .show()
.show()
是 jQuery 中用于显示隐藏的元素的方法。当元素使用 .hide()
方法隐藏后,可以使用 .show()
方法将其重新显示。
语法:
$(selector).show(); $(selector).show(speed); $(selector).show(speed, callback);
speed
参数可选,用于设置显示动画的速度,可以是毫秒数或预定义的字符串值(如 "slow"、"fast")。callback
参数可选,是在显示动画完成后执行的回调函数。
示例:
// 显示隐藏的元素 $("#myElement").show(); // 以 "slow" 速度显示元素 $("#myElement").show("slow"); // 以自定义速度显示元素,并在动画完成后执行回调函数 $("#myElement").show(1000, function() { console.log("Element has been shown."); });
在上述示例中,第一个示例演示了如何使用 .show()
方法简单地显示一个隐藏的元素,第二个示例展示了如何以 "slow" 速度显示元素,第三个示例演示了如何以自定义速度显示元素,并在动画完成后执行回调函数。
8、文档处理
(1)JavaScript使用
① createElement()
在 JavaScript 中,document.createElement(tagName)
是用于创建一个指定标签名的新 HTML 元素的方法。这个方法通常用于动态地创建新的元素,然后可以将这些元素添加到文档中的指定位置。
下面是一个简单的示例,演示如何使用 document.createElement(tagName)
方法创建一个新的 <div>
元素,并将其添加到文档中:
// 创建一个新的 <div> 元素 var newDiv = document.createElement("div"); // 设置新创建的 <div> 元素的文本内容 newDiv.textContent = "This is a new div element."; // 将新创建的 <div> 元素添加到文档中的 body 元素中 document.body.appendChild(newDiv);
在上面的示例中,我们首先使用 document.createElement("div")
创建了一个新的 <div>
元素,然后设置了这个元素的文本内容,最后使用 appendChild()
方法将这个新创建的 <div>
元素添加到文档中的 <body>
元素中。
这个方法在动态生成内容、处理表单数据、实现动态交互等方面非常有用。
② appendChile()
appendChild()
方法是用于将一个新的子节点添加到指定父节点的方法。在 JavaScript 中,这个方法通常用于将一个新创建的元素添加到文档中的指定位置。
下面是一个简单的示例,演示如何使用 appendChild()
方法将一个新创建的 <div>
元素添加到文档中的 <body>
元素中:
// 创建一个新的 <div> 元素 var newDiv = document.createElement("div"); // 设置新创建的 <div> 元素的文本内容 newDiv.textContent = "This is a new div element."; // 将新创建的 <div> 元素添加到文档中的 body 元素中 document.body.appendChild(newDiv);
在上面的示例中,我们首先创建了一个新的 <div>
元素,然后设置了这个元素的文本内容,最后使用 appendChild()
方法将这个新创建的 <div>
元素添加到文档中的 <body>
元素中。
appendChild()
方法是用于将一个子节点添加到指定父节点的最常用方法之一。
(2)jQuery使用
① $(selector)
- 使用选择器来选取匹配的元素,并返回一个jQuery对象。
- 可以通过该对象执行各种操作。
var elements = $('p'); // 选取页面上所有的 <p> 元素
② $(selector).prepend(content)
内部头部追加
- 用于在目标元素的内部开头位置插入内容。
语法
$(selector).prepend(content);
-
selector
:选择器,表示要选中的目标元素。 -
content
:要插入的内容,可以是 HTML 字符串、DOM 元素、或者其他 jQuery 对象。
示例一:插入单个内容
$('div').prepend('<p>This is a new paragraph.</p>');
-
上述示例会在页面上的所有
<div>
元素内部的开头位置插入一个新的<p>
元素。 -
该方法将给定内容(content)插入到每个匹配元素的子元素列表的开头位置,使其成为子元素列表中的第一个元素。
示例二:插入多个内容
- 如果要插入多个内容,可以通过链式调用来连续进行 prepend 操作。
$('div').prepend('<p>Paragraph 1</p>').prepend('<p>Paragraph 2</p>');
- 上述示例会先在每个
<div>
元素内部的开头位置插入 "Paragraph 1",然后再在开头位置插入 "Paragraph 2"。
③ $(selector).append(content)
内部尾部追加
- 将指定的内容追加到每个匹配元素的末尾。
- 可以用来向元素中插入新的内容。
$('div').append('<p>This is a new paragraph.</p>');
④ $(selector).appendTo()
目标元素内部尾部追加
- 用于将当前元素插入到目标元素内部末尾的方法。
语法
$(currentElement).appendTo(targetElement);
-
currentElement
:- 要插入的当前元素,可以是 HTML 字符串、DOM 元素、或者其他 jQuery 对象。
-
targetElement
:- 目标元素,表示要将当前元素插入到该元素内部的末尾位置。
示例
$('<p>This is a new paragraph.</p>').appendTo('div');
-
上述示例将一个新创建的
<p>
元素插入到页面上所有的<div>
元素内部的末尾。 -
该方法的作用相当于
targetElement.append(currentElement)
,只是调换了插入顺序,使得使用链式方法时可以更加流畅地构建操作。
⑤ $(selector).insertAfter(target)`
将目标元素插入到指定目标元素的后面。
- 用于将目标元素插入到指定目标元素的后面。
语法
$(selector).insertAfter(target);
selector
:选择器,表示要选中的目标元素。target
:目标元素,可以是选择器、DOM 元素或者 jQuery 对象,表示要将目标元素插入到它后面。
示例一:插入单个元素
$('<p>This is a new paragraph.</p>').insertAfter('div');
-
上述示例会在页面上的所有
<div>
元素后面插入一个新的<p>
元素。 -
该方法将目标元素插入到指定目标元素的后面,使其成为同级的下一个元素。
示例二:插入多个元素
- 如果要插入多个目标元素,可以通过链式调用来连续进行 insertAfter 操作。
$('<p>Paragraph 1</p>').insertAfter('div').insertAfter('span');
- 上述示例会先在每个
<div>
元素后面插入 "Paragraph 1",然后再在每个<span>
元素后面插入 "Paragraph 1"。
⑥ $(selector).insertBefore(content)
- 用于将选中的元素插入到目标元素的前面。
语法
$(content).insertBefore(selector);
selector
:选择器,表示目标元素。content
:要插入的内容,可以是 HTML 字符串、DOM 元素或者 jQuery 对象。
示例一:所有元素前插入相同的元素
$('<p>Insert this paragraph</p>').insertBefore('div');
-
上述示例会将一个新的
<p>
元素插入到页面上的所有<div>
元素之前。 -
该方法会将选中的元素插入到目标元素之前,成为同级的上一个元素。
- 插入的内容可以是文本、HTML 元素或者其他 DOM 元素。
示例二:多个目标元素前插入相同的元素
- 如果要在多个目标元素前插入相同的元素,可以通过链式调用来连续进行插入操作。例如:
$('<p>Paragraph 1</p>').insertBefore('div').insertBefore('span');
- 上述示例会先将 "Paragraph 1" 插入每个
<div>
元素之前,然后再将 "Paragraph 1" 插入每个<span>
元素之前。
⑦ $(selector).before(content)
- 用于在目标元素前面插入内容。
语法
$(selector).before(content);
selector
:选择器,表示要选中的目标元素。content
:要插入的内容,可以是 HTML 字符串、DOM 元素或者 jQuery 对象。
示例一:所有元素前插入相同的元素
$('<p>This is a new paragraph.</p>').before('div');
-
上述示例会在页面上的所有
<div>
元素之前插入一个新的<p>
元素。 -
该方法将内容插入到目标元素的前面,成为同级的上一个元素。
- 插入的内容可以是文本、HTML 元素或者其他 DOM 元素。
示例二:多个目标元素前插入相同的元素
- 如果要在多个目标元素前插入相同的内容,可以通过链式调用来连续进行插入操作。例如:
$('<p>Paragraph 1</p>').before('div').before('span');
- 上述示例会先在每个
<div>
元素前插入 "Paragraph 1"- 然后再在每个
<span>
元素前插入 "Paragraph 1"。
- 然后再在每个
⑧ $(selector).after(content)
- 用于将选中的元素插入到目标元素的后面。
语法
$(content).insertAfter(selector);
selector
:选择器,表示目标元素。content
:要插入的内容,可以是 HTML 字符串、DOM 元素或者 jQuery 对象。
示例
$('<p>Insert this paragraph</p>').insertAfter('div');
-
上述示例会将一个新的
<p>
元素插入到页面上的所有<div>
元素之后。 -
该方法会将选中的元素插入到目标元素之后,成为同级的下一个元素。
- 插入的内容可以是文本、HTML 元素或者其他 DOM 元素。
-
如果要在多个目标元素后插入相同的元素,可以通过链式调用来连续进行插入操作。例如:
$('<p>Paragraph 1</p>').insertAfter('div').insertAfter('span');
- 上述示例会先将 "Paragraph 1" 插入每个
<div>
元素之后,然后再将 "Paragraph 1" 插入每个<span>
元素之后。
⑨ $(selector).remove(content)
- 用于删除选中的元素以及其子元素。
语法
$(selector).remove(content);
selector
:选择器,表示目标元素。content
:可选参数,表示要过滤的内容,只有与指定内容匹配的元素会被删除。可以是一个选择器、字符串或者 DOM 元素。
示例
$('p').remove();
-
上述示例会删除页面上所有的
<p>
元素及其子元素。 -
该方法会移除与选择器匹配的元素,并且将其从文档中删除。
- 如果提供了
content
参数,则只有与该参数内容匹配的元素才会被删除。
- 如果提供了
-
如果想要从文档中移除多个不同的元素,可以使用多个选择器或者多次调用
remove()
方法来实现。例如:
$('.class1, .class2').remove();
-
上述示例会移除具有
class1
和class2
类名的所有元素。 -
请注意,使用
remove()
方法会从文档中永久删除元素,而不仅仅是隐藏它们。- 所以在使用该方法之前,请确保已经不再需要这些元素,因为无法恢复已删除的元素。
⑩ $(selector).empty(content)
- 用于清空选中元素的所有子元素。
语法
$(selector).empty(content);
selector
:选择器,表示目标元素。content
:选参数,表示要过滤的内容,只有与指定内容匹配的子元素会被清空。可以是一个选择器、字符串或者 DOM 元素。
示例
$('div').empty();
-
上述示例会清空上所有
<div>
元素的子元素。 -
该方法将会移除所选元素的所有子元素,但会保留自身。
- 如果提供了
content
参数,则只有与该参数内容匹配的子元素才会被清空。
- 如果提供了
-
与
remove()
方法不同的是,empty()
方法仅清空元素的子元素,而不会将元素本身从文档中删除。 -
如果想同时清空多个不同元素的子元素,可以使用多个选择器或者多次调用
empty()
方法来实现。例如:
$('.class1, .class2').empty();
- 上述示例会清空所有具有
class1
和class2
类名的元素的子元素。 - 请注意,使用
empty()
方法只会清空元素的子元素,元素本身仍然存在于文档中。
(3)总结
# 文档处理 ''' js jQuery createElement() $('<p>') appendChile() append() ''' let $pEle = $('<p>') $pEle.text('快速上车') $pEle.attr('id','d1') $('#d1').append($pEle) # 内部尾部追加 $('#d1').appendTo($('#d1') $('#d1').prepend($pEle) # 内部头部追加 $('#d1').prependTo($('#d1') $('#d2').after($pEle) # 放在某个标签后面 $pEle.insertAfter($('#d1')) $('#d1').before($pEle) # 放在某个标签后面 $pEle.insertBefore($('#d2')) $('#d1').remove() # 将标签从DOM树中删除 $('#d1').empty() # 清空标签内部所有的内容
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!