appendTo, prependTo, insertBefore, insertAfter, 和 replaceAll这个几个方法返回值是所有被追加的内容,要选择先前选中的元素,需要使用end()方法
内部插入:
append | A.append(B),把B加入A的内部的后面。如果B在页面上存在,则删除原来位置的B |
appendTo | B.appendTo(A),同append,只是书写顺序不一样 |
prepend | A.prepend(B),把B加入A的内部的前面。如果B在页面上存在,则删除原来位置的B |
prependTo | B.prependTo(A),同prepend |
外部插入:
before | A.before(B),把B加入A的外部的后面。如果B在页面上存在,则删除原来位置的B |
insertBefore | B.insertBefore(A),同before,只是书写顺序不一样 |
after | A.after(B),把B加入A的外部的前面。如果B在页面上存在,则删除原来位置的B |
insertAfter | B.insertAfter(A),同after |
包裹标签:
wrap | A.wrap(B),用B包裹A |
unwrap | A.unwrap(),删除A的外层包裹标签 |
wrapAll | A.wrapAll(B),把所有的A集中起来,用B包裹。原来位置的A删除 |
wrapInner | A.wrapInner(B),用A包裹B |
替换:
replaceWith | A.replaceWith(B),用B代替A,B原位置不变 |
replaceAll | B.replaceAll(A),用B代替A,B原位置不变 |
删除:
empty | A.empty(),删除A的内容留骨架(空的A标签) |
remove | A.remove(B),B为条件(可选)。移除,骨架都没有了 |
detach | A.detach(B),B为条件(可选)。移除,骨架都没有了 |
remove这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。但除了这个元素本身得以保留之外,其他的比如绑定的事件,附加的数据等都会被移除。 | detach与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来 |
<div id="first">我是第一</div>
<div id="second">我是第二</div>
<button id="btd">删除第一个div</button>
<button id="btn">查看删除操作后div的数量</button>
$("#btd").click(function() {
var a = $("div");
a.remove("#first");
$("#btn").click(function() {
alert(a.length);// 2
})
})
复制:
clone | A.empty()克隆A,后面一般都要跟prepend等文档操作 |
$("button").click(function(){
$(this).clone(true).insertAfter(this);
});//布尔值为赋值过后的元素是否还是满足复制功能。默认值为false,不满足