jQuery学习笔记5:操作DOM节点
1 插入节点
1.1 内部插入节点
样例:
var box = $(‘<div id="box">节点</div>‘); //创建节点
$(‘body‘).append(box); //插入节点
$(‘div‘).append(‘<strong>DOM</strong>‘);
//index表示元素div的索引号,html表示索引号为index的元素div内的内容
$(‘div‘).append(function (index, html) {
return ‘<strong>DOM</strong>‘ + index + html;
});
$(‘strong‘).appendTo(‘div‘); //将strong节点移入div节点内部后面
1.2 外部插入节点
样例:
$(‘div‘).after(‘<strong>DOM</strong>‘);
$(‘div‘).after(function (index, html) {
return ‘<strong>DOM</strong>‘ + index + html;
});
$(‘div‘).before(‘<strong>DOM</strong>‘);
$(‘div‘).before(function (index, html) {
return ‘<strong>DOM</strong>‘ + index + html;
});
$(‘strong‘).insertAfter(‘div‘);
$(‘strong‘).insertBefore(‘div‘);
2 包裹节点
样例:
$(‘div‘).wrap(‘<strong class="b"></strong>‘); //在div外层包裹一层strong
$(‘div‘).wrap(‘<strong />‘);
$(‘div‘).wrap(‘<strong>123</strong>‘);
$(‘div‘).wrap(‘<strong><em></em></strong>‘);
//DOM对象节点
$(‘div‘).wrap($(‘strong‘).get(0));
$(‘div‘).wrap(document.createElement(‘strong‘));
//匿名函数
$(‘div‘).wrap(function (index) {
return ‘<strong>‘ + index + ‘</strong>‘
});
$(‘div‘).wrap(‘<strong><em></em></strong>‘);
$(‘div‘).unwrap(); //移除一层包裹内容,多个需要移除多次
$(‘div‘).unwrap();
$(‘div‘).wrapAll(‘<strong></strong>‘); //所有DIV外面只有一层strong
$(‘div‘).wrapAll(document.createElement(‘strong‘));
$(‘div‘).wrapInner(‘<strong></strong>‘); //包裹DIV内部内容
$(‘div‘).wrapInner(document.createElement(‘strong‘));
$(‘div‘).wrapInner(function (index) {
return ‘<strong>‘ + index + ‘</strong>‘
});
3 复制、替换和删除节点
3.1 复制节点
clone(true)参数可以为空,表示只复制元素和内容,不复制事件行为。而加上true参数的话,这个元素附带的事件处理行为也复制出来。
$(‘div‘).click(function () {
alert(‘ycku.com‘);
});
$(‘div‘).clone(true).appendTo(‘body‘);
3.2 删除节点
.remove()不带参数时,删除前面对象选择器指定的元素。而.remove()本身也可以带选择符参数的,比如:$(‘div‘).remove(‘#box‘);只删除id=box 的div。
.detach()删除节点,删除后在恢复时保留事件行为,而.remove()不保留。
$(‘div‘).remove();
$(‘div‘).remove(‘.box‘);
alert($(‘div‘).remove().get(0));
$(‘div‘).remove().appendTo(‘body‘); //删除时恢复时不保留事件行为
$(‘div‘).detach().appendTo(‘body‘); //删除时恢复时保留事件行为
.empty(),删除掉节点里的内容。
$(‘div‘).empty(); //删除掉节点里的内容
3.3 替换节点
$(‘div‘).replaceWith(‘<span>节点</span>‘); //将div 替换成span 元素
$(‘<span>节点</span>‘).replaceAll(‘div‘); //同上
注意:节点被替换后,所包含的事件行为就全部消失了。
本文出自 “IT技术学习与交流” 博客,谢绝转载!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。