jQuery删除节点的方法 remove()与 empty()方法
1. empty() 删除匹配的元素集合中所有的子节点
2. remove([expr]) 从DOM中删除所有匹配的元素。expr:用于筛选元素的jQuery表达式
$("#box").empty();//清空匹配元素集合中所有的子节点
var ele= KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲box").remove();…(“p”).remove(":even");
(
"
b
o
d
y
"
)
.
a
p
p
e
n
d
(
e
l
e
)
;
J
a
v
a
S
c
r
i
p
t
中
创
建
D
O
M
节
点
创
建
流
程
:
1.
创
建
元
素
d
o
c
u
m
e
n
t
.
c
r
e
a
t
e
E
l
e
m
e
n
t
(
)
2.
为
节
点
添
加
一
下
属
性
e
l
e
m
e
n
t
.
s
e
t
A
t
t
r
i
b
u
t
e
(
)
;
3.
可
以
使
用
i
n
n
e
r
T
e
x
t
或
则
i
n
n
e
r
H
T
M
L
属
性
添
加
文
本
或
则
H
T
M
L
内
容
4.
使
用
p
a
r
e
n
t
E
l
e
m
e
n
t
.
a
p
p
e
n
d
C
h
i
l
d
(
)
方
法
将
新
创
建
的
节
点
添
加
到
父
节
点
中
/
/
创
建
D
I
V
节
点
v
a
r
d
i
v
=
d
o
c
u
m
e
n
t
.
c
r
e
a
t
e
E
l
e
m
e
n
t
(
"
d
i
v
"
)
;
/
/
给
创
建
的
节
点
添
加
c
l
a
s
s
属
性
d
i
v
.
s
e
t
A
t
t
r
i
b
u
t
e
(
"
c
l
a
s
s
"
,
"
b
o
x
"
)
;
/
/
给
创
建
的
节
点
添
加
H
T
M
L
内
容
d
i
v
.
i
n
n
e
r
H
T
M
L
=
"
这
是
一
个
通
过
J
S
动
态
添
加
的
d
i
v
"
;
c
o
n
s
o
l
e
.
l
o
g
(
d
i
v
)
;
/
/
将
节
点
添
加
到
b
o
d
y
元
素
中
d
o
c
u
m
e
n
t
.
b
o
d
y
.
a
p
p
e
n
d
C
h
i
l
d
(
d
i
v
)
;
j
Q
u
e
r
y
创
建
节
点
j
Q
u
e
r
y
节
点
的
创
建
:
("body").append(ele); JavaScript中创建DOM节点 创建流程: 1.创建元素 document.createElement() 2.为节点添加一下属性 element.setAttribute(); 3.可以使用innerText或则innerHTML属性添加文本或则HTML内容 4.使用parentElement.appendChild()方法将新创建的节点添加到父节点中 //创建DIV节点 var div = document.createElement("div"); //给创建的节点添加class属性 div.setAttribute("class", "box"); //给创建的节点添加HTML内容 div.innerHTML = "这是一个通过JS动态添加的div"; console.log(div); //将节点添加到body元素中 document.body.appendChild(div); jQuery创建节点 jQuery节点的创建:
("body").append(ele);JavaScript中创建DOM节点创建流程:1.创建元素document.createElement()2.为节点添加一下属性element.setAttribute();3.可以使用innerText或则innerHTML属性添加文本或则HTML内容4.使用parentElement.appendChild()方法将新创建的节点添加到父节点中//创建DIV节点vardiv=document.createElement("div");//给创建的节点添加class属性div.setAttribute("class","box");//给创建的节点添加HTML内容div.innerHTML="这是一个通过JS动态添加的div";console.log(div);//将节点添加到body元素中document.body.appendChild(div);jQuery创建节点jQuery节点的创建:()函数处理,$(“html结构”)
jQuery创建的节点是一个jQuery对象
KaTeX parse error: Expected '}', got 'EOF' at end of input: … //通过jQuery的()函数创建div节点并添加属性与文本内容
var div =
(
"
<
d
i
v
c
l
a
s
s
=
′
b
o
x
′
>
这
是
一
个
通
过
j
Q
u
e
r
y
动
态
添
加
的
d
i
v
<
/
d
i
v
>
"
)
;
/
/
("<div class='box'>这是一个通过jQuery动态添加的div</div>"); //
("<divclass=′box′>这是一个通过jQuery动态添加的div</div>");//div.attr(“class”, “box”);
//通过jQuery中的append()方法将新创建的节点添加到body元素中
(
"
b
o
d
y
"
)
.
a
p
p
e
n
d
(
d
i
v
)
;
/
/
("body").append(div); //
("body").append(div);//(“body”).append(“
after()与before() 方法
after(content|fn):在每个匹配的元素之后插入内容。
- $(A).after(B); 在A后面插入B元素
before(content|fn):在每个匹配的元素之前插入内容。
- ( A ) . b e f o r e ( B ) ; 在 A 前 面 插 入 B 元 素 / / (A).before(B);在A前面插入B元素 // (A).before(B);在A前面插入B元素//(A).after(B); 在A后面插入B元素
$("#box").after(“
通过jQuery中的after方法动态的添加P标签
”);// $(A).before(B);在A前面插入B元素
$("#box").before(“
通过jQuery中的before方法动态的添加P标签
”);insertAfter()与insertBefore()
insertAfter(content):把所有匹配的元素插入到另一个、指定的元素元素集合的后面。
- ( A ) . i n s e r t A f t e r ( B ) 在 B 后 面 插 入 A 元 素 与 (A).insertAfter(B) 在B后面插入A元素 与 (A).insertAfter(B)在B后面插入A元素与(A).after(B)是相反的操作,但是功能一样
insertBefore(content):把所有匹配的元素插入到另一个、指定的元素元素集合的前面。
- ( A ) . i n s e r t B e f o r e ( B ) 在 B 前 面 面 插 入 A 元 素 与 (A).insertBefore(B) 在B前面面插入A元素 与 (A).insertBefore(B)在B前面面插入A元素与(A).before(B)是相反的操作,但是功能一样
$(A).insertAfter(B) 在B后面插入A元素
$(“
通过jQuery中的insertAfter方法动态的添加P标签
”).insertAfter("#box");// $(A).insertBefore(B) 在B前面面插入A元素
$(“
通过jQuery中的insertBefore方法动态的添加P标签
”).insertBefore("#box");append()与appendTo()方法
append(content|fn):向每个匹配的元素内部追加内容
- $(A).append(B);将B添加到A中
appendTo(content):把所有匹配的元素追加到另一个指定的元素元素集合中。
- $(A).appendTo(B);把A追加到B中
总结:这两个方法功能相同,主要的不同是语法—>内容和目标的位置不同
function appendFun() {
$(A).append(B);将B添加到A中
$(".box").append(“
通过append方法动态添加的P标签
”);}
function appendToFun() {
$(A).appendTo(B); 把A追加到B中
$(“
通过appendTo方法动态添加的P标签
”).appendTo(".box");}
1.2 prepend()与prependTo()方法
prepend(content):向每个匹配的元素内部前置内容
- $(A).prepend(B);将B添加到A中(和append添加的元素有位置上的区别)
prependTo(content):把所有匹配的元素前置到另一个、指定的元素元素集合中。
- KaTeX parse error: Expected '}', got 'EOF' at end of input: … //(A).prepend(B);将B添加到A中(和append添加的元素有位置上的区别)
$(".box").prepend(“
通过prepend方法动态添加的P标签
”);}
function prependToFun() {
( " < p > 通 过 p r e p e n d 方 法 动 态 添 加 的 P 标 签 < / p > " ) . p r e p e n d T o ( " . b o x " ) ; / / ("<p>通过prepend方法动态添加的P标签</p>").prependTo(".box"); // ("<p>通过prepend方法动态添加的P标签</p>").prependTo(".box");//(".btngroup").prependTo(".box");
}
eq(index|-index):获取当前链式操作中第N个jQuery对象,返回jQuery对象,当参数大于等于0时为正向选取,比如0代表第一个,1代表第二个。当参数为负数时为反向选取,比如-1为倒数第一个,具体可以看以下示例。
类似的有get(index),不过get(index)返回的是DOM对象。
参数说明:index 一个整数,指示元素基于0的位置,这个元素的位置是从0算起。
-index 一个整数,指示元素的位置,从集合中的最后一个元素开始倒数。(-1算起)
first() 获取第一个元素
last()获取最后个元素
hasClass(class) 检查当前的元素是否含有某个特定的类,如果有,则返回true
这其实就是 is("." + class)。
filter(expr|obj|ele|fn) 筛选出与指定表达式匹配的元素集合。
这个方法用于缩小匹配的范围。用逗号分隔多个表达式
find(expr|obj|ele)
搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法
KaTeX parse error: Expected '}', got 'EOF' at end of input: … //("#web li").eq(0).css({ “font-size”: “20px”, “color”: “red” });
$("#web li").eq(-2).css({ “font-size”: “20px”, “color”: “red” });
$("#web li").first().css({ fontSize: 20, color: “green” });
KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲web li").last()…("#web").hasClass(“box”)) {
// alert(“有box的类”);
//} else {
// alert(“没有box的类”);
//}
var p = $("#web").find(“p”);
console.log§;
});