jQuery学习笔记5:操作DOM节点

简介:

1    插入节点

1.1 内部插入节点

wKioL1MB196QI4L0AAJhm4YH1uw744.jpg

样例:

   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 外部插入节点

wKiom1MB3zrQIAdwAAJeHgjaGFg022.jpg

样例:

   $('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    包裹节点

wKiom1MB4WHTl8bYAALm2U8WE18642.jpg

样例:

   $('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'); //同上
注意:节点被替换后,所包含的事件行为就全部消失了。





     本文转自stock0991 51CTO博客,原文链接:http://blog.51cto.com/qing0991/1359916,如需转载请自行联系原作者







相关文章
|
29天前
|
JavaScript 前端开发
使用jQuery操作DOM元素
使用jQuery操作DOM元素
16 1
|
29天前
|
JavaScript 前端开发
JavaScript操作DOM元素
JavaScript操作DOM元素
11 1
|
4天前
|
存储 JavaScript 前端开发
JavaScript DOM 操作:解释一下 cookie、sessionStorage 和 localStorage 的区别。
Cookie是服务器发送至客户端的文本信息,会随每个请求发送回服务器,适合控制会话状态但可能暴露隐私。SessionStorage仅在当前会话中存储数据,关闭浏览器后清除,适合临时存储如登录状态。LocalStorage则持久保存数据,即使关闭浏览器也不会清除,适用于存储长期设置。三种方式各有侧重,应按需求选择。
10 0
|
4天前
|
JavaScript 前端开发 安全
JavaScript DOM 操作:解释一下浏览器的同源策略。
**同源策略**是浏览器安全基石,它阻止脚本跨不同协议、域名或端口访问资源,防止恶意行为。例如,HTTP页面无法直接用JS获取HTTPS页面内容。**CORS**允许跨域请求,但需服务器配合设置,通过`document.domain`属性可配置,但仍受限于服务器配置。
10 4
|
17天前
|
JavaScript 前端开发 开发者
DOM节点类型
DOM节点类型
N..
|
25天前
|
JavaScript 前端开发 容器
jQuery中的DOM操作
jQuery中的DOM操作
N..
13 1
|
30天前
|
前端开发 JavaScript Java
第四章使用jQuery操作DOM元素
第四章使用jQuery操作DOM元素
9 0
|
30天前
|
JavaScript
jQuery操作DOM元素案例
jQuery操作DOM元素案例
10 0
|
1月前
|
JavaScript 前端开发
如何使用 JavaScript 操作 DOM?
如何使用 JavaScript 操作 DOM?
13 0
|
18天前
|
JavaScript 前端开发
深入了解 JavaScript 中的 DOM 和 BOM
深入了解 JavaScript 中的 DOM 和 BOM
17 4