jQuery之文档处理

jQuery

文档处理

1)内部插入
2)外部插入
3)包裹
4)替换
5)删除
6)复制

1.内部插入

append(content|fn)

向每个匹配的元素内部追加内容。

向所有段落中追加一些HTML标记。
HTML 代码:

I would like to say:


jQuery 代码:
$("p").append("Hello");
结果:
[

I would like to say: Hello

]

appendTo(content)

把所有匹配的元素追加到另一个指定的元素元素集合中。

新建段落追加div中并加上一个class
HTML 代码:


jQuery 代码:
$("

")
.appendTo("div")
.addClass("test")
.end()
.addClass("test2");
结果:


prepend(content)

向每个匹配的元素内部前置内容

向所有段落中前置一些HTML标记代码。
HTML 代码:

I would like to say:


jQuery 代码:
$("p").prepend("Hello");
结果:
[

HelloI would like to say:

]

将一个DOM元素前置入所有段落
HTML 代码:

I would like to say:


I would like to say:


Hello
Good Bye
jQuery 代码:
$("p").prepend( $(".foo")[0] );
结果:

HelloI would like to say:


HelloI would like to say:


Good Bye

向所有段落中前置一个jQuery对象(类似于一个DOM元素数组)。
HTML 代码:

I would like to say:

Hello
jQuery 代码:
$("p").prepend( $("b") );
结果:

HelloI would like to say:

prependTo(content)

把所有匹配的元素前置到另一个、指定的元素元素集合中。

把所有段落追加到ID值为foo的元素中。
HTML 代码:

I would like to say:


jQuery 代码:
$("p").prependTo("#foo");
结果:

I would like to say:

2.外部插入

after(content|fn)

在每个匹配的元素之后插入内容。

在所有段落之后插入一些HTML标记代码。
HTML 代码:

I would like to say:


jQuery 代码:
$("p").after("Hello");
结果:

I would like to say:

Hello

在所有段落之后插入一个DOM元素。
HTML 代码:
Hello

I would like to say:


jQuery 代码:
$("p").after( $("#foo")[0] );
结果:

I would like to say:

Hello

在所有段落中后插入一个jQuery对象(类似于一个DOM元素数组)。
HTML 代码:
Hello

I would like to say:


jQuery 代码:
$("p").after( $("b") );
结果:

I would like to say:

Hello

before(content|fn)

在每个匹配的元素之前插入内容。

在所有段落之前插入一些HTML标记代码。
HTML 代码:

I would like to say:


jQuery 代码:
$("p").before("Hello");
结果:
[ Hello

I would like to say:

]

在所有段落之前插入一个元素。
HTML 代码:

I would like to say:

Hello
jQuery 代码:
$("p").before( $("#foo")[0] );
结果:
Hello

I would like to say:

在所有段落中前插入一个jQuery对象(类似于一个DOM元素数组)。
HTML 代码:

I would like to say:

Hello
jQuery 代码:
$("p").before( $("b") );
结果:
Hello

I would like to say:

insertAfter(content)

把所有匹配的元素插入到另一个、指定的元素元素集合的后面。

把所有段落插入到一个元素之后。与 $("#foo").after("p")相同
HTML 代码:

I would like to say:

Hello

jQuery 代码:
$("p").insertAfter("#foo");
结果:
Hello

I would like to say:

insertBefore(content)

把所有匹配的元素插入到另一个、指定的元素元素集合的前面。

把所有段落插入到一个元素之前。与 $("#foo").before("p")相同。
HTML 代码:

Hello

I would like to say:


jQuery 代码:
$("p").insertBefore("#foo");
结果:

I would like to say:

Hello

包裹

wrap(html|element|fn)

把所有匹配的元素用其他元素的结构化标记包裹起来。

用原先div的内容作为新div的class,并将每一个元素包裹起来
HTML 代码:


Hello

Goodbye


jQuery 代码:
$('.inner').wrap(function() {
return '
';
});
结果:


Hello



Goodbye


unwrap()

这个方法将移出元素的父元素。这能快速取消 .wrap()方法的效果。匹配的元素(以及他们的同辈元素)会在DOM结构上替换他们的父元素。

用ID是"content"的div将每一个段落包裹起来
HTML 代码:


Hello


cruel


World



jQuery 代码:
$("p").unwrap()
结果:

Hello


cruel


World

wrapAll(html|ele)

将所有匹配的元素用单个元素包裹起来

html描述:
用一个生成的div将所有段落包裹起来
jQuery 代码:
$("p").wrapAll("

");

elem描述:
用一个生成的div将所有段落包裹起来
jQuery 代码:
$("p").wrapAll(document.createElement("div"));

wrapInner(htm|element|fnl)

将每一个匹配的元素的子内容(包括文本节点)用一个HTML结构包裹起来

用原先div的内容作为新div的class,并将每一个元素包裹起来
HTML 代码:


Hello

Goodbye


jQuery 代码:
$('.inner').wrapInner(function() {
return '
';
});
结果:


Hello



Goodbye


替换

replaceWith(content|fn)

将所有匹配的元素替换成指定的HTML或DOM元素。

把所有的段落标记替换成加粗的标记。
HTML 代码:

Hello

cruel

World


jQuery 代码:
$("p").replaceWith("Paragraph. ");
结果:
Paragraph. Paragraph. Paragraph.

用第一段替换第三段,你可以发现他是移动到目标位置来替换,而不是复制一份来替换。
HTML 代码:


Hello

And

Goodbye


jQuery 代码:
$('.third').replaceWith($('.first'));
结果:

And

Hello

replaceAll(selector)

用匹配的元素替换掉所有 selector匹配到的元素。

把所有的段落标记替换成加粗标记
HTML 代码:

Hello

cruel

World


jQuery 代码:
$("Paragraph. ").replaceAll("p");
结果:
Paragraph. Paragraph. Paragraph.

删除

empty()

删除匹配的元素集合中所有的子节点。

把所有段落的子元素(包括文本节点)删除
HTML 代码:

Hello, Person and person


jQuery 代码:
$("p").empty();
结果:

:has(selector)

匹配含有选择器所匹配的元素的元素

给所有包含 p 元素的 div 元素添加一个 text 类
HTML 代码:

Hello


Hello again!

jQuery 代码:
$("div:has(p)").addClass("test");
结果:
[

Hello

]

detach([expr])

从DOM中删除所有匹配的元素。

从DOM中把所有段落删除
HTML 代码:

Hello

how are

you?


jQuery 代码:
$("p").detach();
结果:
how are

从DOM中把带有hello类的段落删除
HTML 代码:

Hello

how are

you?


jQuery 代码:
$("p").detach(".hello");
结果:
how are

you?

复制

clone([Even[,deepEven]])

克隆匹配的DOM元素并且选中这些克隆的副本。

克隆所有b元素(并选中这些克隆的副本),然后将它们前置到所有段落中。
HTML 代码:
Hello

, how are you?


jQuery 代码:
$("b").clone().prependTo("p");
结果:
Hello

Hello, how are you?

创建一个按钮,他可以复制自己,并且他的副本也有同样功能。
HTML 代码:

jQuery 代码:
$("button").click(function(){
$(this).clone(true).insertAfter(this);
});

posted @ 2017-05-15 20:10  师妹儿  阅读(539)  评论(0)    收藏  举报