1.创建节点
var box = $('<div id="box">节点</div>'); //创建一个节点
$('body').append(box); //将节点插入到<body>元素内部
2.插入节点
|
描述
|
|
向指定每个匹配的元素内部后面插入节点content |
append(function (index, html) {})
|
|
|
|
|
|
prepend(function (index, html) {})
|
|
|
|
<p class='append'>I would like to say: </p>
<p class='append'>I would like to say: </p>
$(".append").append("<b>Hello</b>");
<p class='append'>I would like to say: <b>Hello</b></p>
<p class='append'>I would like to say: <b>Hello</b></p>
<p class='append'>节点1: </p>
<p class='append'>节点2: </p>
<div>追加内容</div>
$("p").append($('div'));
<p class="append">节点1: <div>追加内容</div></p>
<p class="append">节点2: <div>追加内容</div></p>
<p class='append'>节点1: </p>
<p class='append'>节点2: </p>
$('.append').append(function (index, html) {
return '<strong>节点</strong>'+'。第'+index+'节点,原节点的html是--'+ html;
});
<p class="append">节点1: <strong>节点</strong>。第0节点,原节点的html是--节点1: </p>
<p class="append">节点2: <strong>节点</strong>。第1节点,原节点的html是--节点2: </p>
<p class='append'>节点1: </p>
<p class='append'>节点2: </p>
<div>追加内容</div>
$("p").appendTo($('div'));//移入操作,不需要创建节点
<p class="append">节点1: <div>追加内容</div></p>
<p class="append">节点2: <div>追加内容</div></p>
<p class='append'>节点1: </p>
<p class='append'>节点2: </p>
<div>追加内容</div>
$("p").prepend($('div'));
<p class="append"><div>追加内容</div>节点1: </p>
<p class="append"><div>追加内容</div>节点2: </p>
<p class='append'>节点1: </p>
<p class='append'>节点2: </p>
$("p").prepend('insert before');
<p class="append">insert before节点1: </p>
<p class="append">insert before节点2: </p>
<p class='append'>节点1: </p>
<p class='append'>节点2: </p>
$('p').prepend(function (index, html) {
return '<div>追加内容</div>';
});
<p class="append"><div>追加内容</div>节点1: </p>
<p class="append"><div>追加内容</div>节点2: </p>
<p class='append'>节点1: </p>
<p class='append'>节点2: </p>
<div>追加内容</div>
$("p").prependTo($('div'));
<div><p class="append">节点1: </p><p class="append">节点2: </p>追加内容</div>
|
描述
|
after(content)
|
向指定元素的外部后面插入节点content
|
after(function (index, html) {})
|
使用匿名函数向指定元素的外部后面插入节点
|
before(content)
|
向指定元素的外部前面插入节点content
|
before(function (index, html) {})
|
使用匿名函数向指定元素的外部前面插入节点
|
insertAfter(content)
|
将指定节点移到指定元素content 外部的后面
|
insertBefore(content)
|
将指定节点移到指定元素content 外部的前面
|
3.包裹节点
wrap()把所有匹配的元素用其他元素的结构化标记包装起来。这种包装对于在文档中插入额外的结构化标记最有用,而且它不会破坏原始文档的语义品质。这个函数的原理是检查提供的第一个元素(它是由所提供的HTML标记代码动态生成的),并在它的代码结构中找到最上层的祖先元素--这个祖先元素就是包装元素。当HTML标记代码中的元素包含文本时无法使用这个函数。因此,如果要添加文本应该在包装完成之后再行添加,返回值:jQuery
|
描述
|
wrap(html)
|
向指定元素包裹一层html 代码
|
wrap(element)
|
向指定元素包裹一层DOM 对象节点
|
wrap(function (index) {})
|
使用匿名函数向指定元素包裹一层自定义内容
|
unwrap()
|
移除一层指定元素包裹的内容
|
wrapAll(html)
|
用html 将所有元素包裹到一起
|
wrapAll(element)
|
用DOM 对象将所有元素包裹在一起
|
|
|
|
|
wrapInner(function (index) {})
|
|
4.节点操作
复制节点
$('body').append($('div').clone(true)); //复制一个节点添加到HTML 中
注意:clone(true)参数可以为空,表示只复制元素和内容,不复制事件行为。而加上true
参数的话,这个元素附带的事件处理行为也复制出来。
删除节点
$('div').remove(); //直接删除div 元素
注意:.remove()不带参数时,删除前面对象选择器指定的元素。而.remove()本事也可以
带选择符参数的,比如:$('div').remove('#box');只删除id=box 的div。
保留事件的删除节点
$('div').detach(); //保留事件行为的删除
注意:.remove()和.detach()都是删除节点,而删除后本身方法可以返回当前被删除的节点对象,但区别在于前者在恢复时不保留事件行为,后者则保留。
清空节点
$('div').empty(); //删除掉节点里的内容
替换节点
$('div').replaceWith('<span>节点</span>'); //将div 替换成span 元素
$('<span>节点</span>').replaceAll('div'); //同上
注意:节点被替换后,所包含的事件行为就全部消失了。