jQuery 文档处理

文档处理

1.内部插入

1.1 append(content|fn) 向每个匹配的元素内部追加内容

$("p").append("<span>appent</span>")

$("p").append(function(index,html){

return index+"这个集合中的索引值"+html+"这个对象原先的html值"

})

1.2 appendTo(content) 把所有匹配的元素追加到另一个指定的元素元素集合中。使用这个方法是颠倒了常规的$(A).append(B)的操作,即不是把B追加到A中,而是把A追加到B中。

$("p").appendTo("div");

$("<p>pppppppp</p>").appendTo("div").addClass("active");

2.3 prepend(content|fn) 向每个匹配的元素内部前置内容

$("p").prepend("<span>prepend</span>");

$("p").prepend(function(index,html){return index+html})

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

$("p").prependTo("div");

2.外部插入

2.1 after(content|fn) 在每个匹配的元素之后插入内容

$("p").after("<span>after</span>");

$("p").after(function(i,html){return i+html});

2.2 before(content|fn) 在每个匹配的元素之前插入内容

$("p").after( $("#id")[0] );

$("p").after( $("span") );

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

$("<span>insertAfter</span>").insertAfter("p");

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

$("<span>insertBefore</span>").insertBefore("p");

3.包裹

3.1 wrap(html|element|fn) 把所有匹配的元素用其他元素的结构化标记包裹起来。

$("p").wrap("<div class="wrap"></div>");

$("p").wrap(document.getElementById('content'));

$(".wrap").wrap(function(){

return '<div class=" + $(this).text() + " />';

})

3.2 unwrap() 这个方法将移出元素的父元素。

$("p").unwrap();

3.3 wrapAll(html|elem) 将所有匹配的元素用单个元素包裹起来

$("p").wrapAll("div");

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

$("p").wrapInner("<b></b>");

$("p").wrapInner(document.createElement('b'))

$(".inner").wrapInner(function(){

return '<div class="+ $(this).text() +" />';

})

4.替换

4.1 replaceWith(content|fn) 将所有匹配的元素替换成指定的HTML或DOM元素

$("p").replaceWith("<b>replaceWith</b>");

$("p").replaceWith(function(){

return '<div>$(this).text()</div>';

});

4.2 replaceAll(selector) 用匹配的元素替换掉所有 selector匹配到的元素。

$("<b>replaceAll</b>").replaceAll("p");

5.删除

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

$("p").empty()

5.2 remove([expr]) 从DOM中删除所有匹配的元素,这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。但除了这个元素本身得以保留之外,其他的比如绑定的事件,附加的数据等都会被移除。

$("p").remove();

$("p").remove(".remove");

5.3 detach([expr]) 从DOM中删除所有匹配的元素,这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来。

$("p").detach();

$("p").detach(".detach");

6.复制

6.1 clone([even[,deepEven]]) 克隆匹配的DOM元素并且选中这些克隆的副本。

Even 一个布尔值(true 或者 false)指示事件处理函数是否会被复制。

$("b").clone().prependTo("p"); //克隆所有b元素(并选中这些克隆的副本),然后将它们前置到所有段落中。

$("button").click(function(){ //创建一个按钮,他可以复制自己,并且他的副本也有同样功能。

$(this).clone(true).insertAfter(this);

});