使用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 相关文章推荐
简单的无缝滚动程序-仅几行代码
May 08 Javascript
JavaScript入门教程(10) 认识其他对象
Jan 31 Javascript
jquery悬浮提示框完整实例
Jan 13 Javascript
echarts3 使用总结(绘制各种图表,地图)
Jan 05 Javascript
js+canvas实现动态吃豆人效果
Mar 22 Javascript
基于jQuery的左滑出现删除按钮的示例
Aug 29 jQuery
微信小程序显示下拉列表功能【附源码下载】
Dec 12 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
Dec 26 Javascript
Vue 全家桶实现移动端酷狗音乐功能
Nov 16 Javascript
利用Dectorator分模块存储Vuex状态的实现
Feb 05 Javascript
jQuery实现的记住帐号密码功能完整示例
Aug 03 jQuery
js实现无缝轮播图效果
Mar 09 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简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
Javascript中的相等与不等运算
2010/04/25 Javascript
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
JavaScript基础语法、dom操作树及document对象
2014/12/02 Javascript
手机端转盘抽奖代码分享
2015/09/10 Javascript
原生ajax处理json格式数据的实例代码
2016/12/25 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
2017/03/21 Javascript
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
vue通过路由实现页面刷新的方法
2018/01/25 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
python创建进程fork用法
2015/06/04 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
Python多进程multiprocessing.Pool类详解
2018/04/27 Python
实例分析python3实现并发访问水平切分表
2018/09/29 Python
PyTorch里面的torch.nn.Parameter()详解
2020/01/03 Python
解决python 虚拟环境删除包无法加载的问题
2020/07/13 Python
深入了解Python装饰器的高级用法
2020/08/13 Python
python使用matplotlib:subplot绘制多个子图的示例
2020/09/24 Python
HTML5 微格式和相关的属性名称
2010/02/10 HTML / CSS
html5指南-4.使用Geolocation实现定位功能
2013/01/07 HTML / CSS
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
澳大利亚购买健身器材网站:Gym Direct
2019/12/19 全球购物
如何查找网页漏洞
2016/06/22 面试题
一道输出判断型Java面试题
2014/10/01 面试题
校园安全广播稿
2014/02/08 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
《爬天都峰》教学反思
2016/02/23 职场文书
2016年国庆节假期旅游工作总结
2016/04/01 职场文书
解决numpy数组互换两行及赋值的问题
2021/04/17 Python
关于的python五子棋的算法
2022/05/02 Python