使用jQuery中的wrap()函数操作HTML元素的教程


Posted in Javascript onMay 24, 2016

wrap()函数用于在每个匹配元素外部包裹指定的HTML结构。
与该函数相对的是unwrap()函数,用于当前匹配元素的父元素(只移除父元素,其内部节点全部保留)。
该函数属于jQuery对象(实例)。

语法

jQueryObject.wrap( wrapper )

参数
wrapper String/Element/jQuery/Function类型用于包裹匹配元素的节点。
如果参数wrapper为字符串,则将其视作jQuery选择器或html字符串,jQuery会自行判断。
jQuery 1.4 新增支持:参数wrapper可以为函数。wrap()将根据匹配的所有元素遍历执行该函数,函数中的this将指向对应的DOM元素。
wrap()还会为函数传入一个参数,即当前元素在匹配元素中的索引。函数的返回值就是用于包裹的节点内容(可以是html字符串、DOM元素或jQuery对象)。
注意:如果wrapper匹配多个元素,则只将第一个元素作为包裹元素。
注意:如果wrapper是多层嵌套的元素(例如<p><i></i></p>),wrap()将从外往内检查每层嵌套的第一个节点。如果该节点没有子节点或者第一个子节点不是Element节点(比如文本节点、注释节点等),就停止向内查找,直接在当前节点内部的末尾位置追加(append())当前匹配元素。

返回值
wrap()函数的返回值为jQuery类型,返回当前jQuery对象本身(以便于进行链式风格的编程)。
注意:即使wrapper元素是当前页面中的元素,该元素也不会从原位置上消失。因为wrap()使用的是该元素的副本(克隆)来充当包裹。

示例

<div class="container">
 <div class="inner">Hello</div>
 <div class="inner">Goodbye</div>
</div>
$( ".inner" ).wrap(function() {
 return "<div class='" + $( this ).text() + "'></div>";
});

结果如下:

<div class="container">
 <div class="Hello">
  <div class="inner">Hello</div>
 </div>
 <div class="Goodbye">
  <div class="inner">Goodbye</div>
 </div>
</div>

类似的用法还有.wrapAll()、.wrapInner()、.unwrap()等等!

Javascript 相关文章推荐
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
Jan 04 Javascript
js+CSS实现弹出居中背景半透明div层的方法
Feb 26 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
Oct 09 Javascript
javascript实现列表切换效果
May 02 Javascript
关于微信中a链接无法跳转问题
Aug 02 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
Sep 23 Javascript
基于原生js淡入淡出函数封装(兼容IE)
Oct 20 Javascript
使用Ajax生成的Excel文件并下载的实例
Nov 21 Javascript
分享Bootstrap简单表格、表单、登录页面
Aug 04 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
Jul 26 Javascript
javascript for循环性能测试示例
Aug 07 Javascript
详解微信小程序动画Animation执行过程
Sep 23 Javascript
实例解析jQuery中proxy()函数的用法
May 24 #Javascript
jQuery前端开发35个小技巧
May 24 #Javascript
JS+Canvas绘制时钟效果
Aug 20 #Javascript
基于JQuery实现图片上传预览与删除操作
May 24 #Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
May 24 #Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
May 24 #Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
May 24 #Javascript
You might like
php数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
php函数与传递参数实例分析
2014/11/15 PHP
PHP数组相关函数汇总
2015/03/24 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
thinkphp5框架路由原理与用法详解
2020/02/11 PHP
JS烟花背景效果实现方法
2015/03/03 Javascript
JS简单循环遍历json数组的方法
2016/04/22 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
Vue.js每天必学之过渡与动画
2016/09/06 Javascript
Vue.js系列之项目结构说明(2)
2017/01/03 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
详解基于webpack2.x的vue2.x的多页面站点
2017/08/21 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
vue实现全匹配搜索列表内容
2019/09/26 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
Python实现把回车符\r\n转换成\n
2015/04/23 Python
Python实现快速排序算法及去重的快速排序的简单示例
2016/06/26 Python
Django 2.0版本的新特性抢先看!
2018/01/05 Python
tornado 多进程模式解析
2018/01/15 Python
python 轮询执行某函数的2种方式
2020/05/03 Python
全面介绍python中很常用的单元测试框架unitest
2020/12/14 Python
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
经典c++面试题六
2012/01/18 面试题
初中女生自我鉴定
2013/12/19 职场文书
银行演讲稿范文
2014/01/03 职场文书
中文专业毕业生自荐书范文
2014/01/04 职场文书
转让协议书范本
2014/04/15 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
出国留学单位推荐信
2015/03/26 职场文书
2015年银行工作总结范文
2015/04/01 职场文书
新教师教学工作总结
2015/08/12 职场文书
Python还能这么玩之只用30行代码从excel提取个人值班表
2021/06/05 Python
python Django框架快速入门教程(后台管理)
2021/07/21 Python