使用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 相关文章推荐
javascript 选择文件夹对话框(web)
Jul 07 Javascript
jQuery的实现原理的模拟代码 -1 核心部分
Aug 01 Javascript
IE图片缓存document.execCommand(&quot;BackgroundImageCache&quot;,false,true)
Mar 01 Javascript
合并table相同单元格的jquery插件分享(很精简)
Jun 20 Javascript
Google (Local) Search API的简单使用介绍
Nov 28 Javascript
JS比较两个时间大小的简单示例代码
Dec 20 Javascript
写出高效jquery代码的19条指南
Mar 19 Javascript
jQuery表单域选择器用法分析
Feb 10 Javascript
深入浅析JavaScript中的作用域和上下文
Mar 26 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
Aug 24 Javascript
Bootstrap table的使用方法
Nov 02 Javascript
Vue动态组件和异步组件原理详解
May 06 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
phpmyadmin出现Cannot start session without errors问题解决方法
2014/08/14 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
2019/02/13 PHP
php-7.3.6 编译安装过程
2020/02/11 PHP
Javascript Select操作大集合
2009/05/26 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
2011/12/08 Javascript
jquery实现网站超链接和图片提示效果
2013/03/21 Javascript
js获取class的所有元素
2013/03/28 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
Ext JS添加子组件的误区探讨
2013/06/28 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
jQuery实现长按按钮触发事件的方法
2015/02/02 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
JS组件Bootstrap实现弹出框效果代码
2016/04/26 Javascript
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
从零开始学习搭建React脚手架项目
2018/08/23 Javascript
详解js访问对象的属性和方法
2018/10/25 Javascript
详解Vue调用手机相机和相册以及上传
2019/05/05 Javascript
[42:52]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
用Python的Django框架完成视频处理任务的教程
2015/04/02 Python
Python中使用dom模块生成XML文件示例
2015/04/05 Python
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
Python的Django框架可适配的各种数据库介绍
2015/07/15 Python
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
Python 如何在字符串中插入变量
2020/08/01 Python
Python实现AES加密,解密的两种方法
2020/10/03 Python
Python模拟登录requests.Session应用详解
2020/11/17 Python
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
我能否用void** 指针作为参数, 使函数按引用接受一般指针
2013/02/16 面试题
servlet面试题
2012/08/20 面试题
活动总结怎么写啊
2014/05/07 职场文书
公安机关党的群众路线教育实践活动剖析材料
2014/10/10 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书
新娘父亲婚礼致辞
2015/07/27 职场文书
Redis 异步机制
2022/05/15 Redis
Spring Boot优化后启动速度快到飞起技巧示例
2022/07/23 Java/Android