使用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实现Java的List功能(实例讲解)
Nov 07 Javascript
javascript 获取iframe里页面中元素值的方法
Feb 17 Javascript
javascript常见用法总结
May 22 Javascript
浅谈JavaScript 框架分类
Nov 10 Javascript
基于jQuery实现的幻灯图片切换
Dec 02 Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
Jul 27 Javascript
微信小程序slider组件使用详解
Jan 31 Javascript
详解webpack loader和plugin编写
Oct 12 Javascript
微信小程序 简易计算器实现代码实例
Sep 02 Javascript
微信小程序页面滚动到指定位置代码实例
Sep 07 Javascript
Vue实现购物车实例代码两则
May 30 Javascript
js+css3实现炫酷时钟
Aug 18 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实现批量压缩图片文件大小的脚本
2014/07/04 PHP
简单解决新浪SAE无法上传文件的问题
2015/05/13 PHP
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
JavaScript语言核心数据类型和变量使用介绍
2013/08/23 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
JavaScript数组的定义及数字操作技巧
2016/06/06 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
vue项目使用微信公众号支付总结及遇到的坑
2018/10/23 Javascript
微信小程序下拉框功能的实例代码
2018/11/06 Javascript
React降级配置及Ant Design配置详解
2018/12/27 Javascript
推荐15个最好用的JavaScript代码压缩工具
2019/02/13 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
2020/12/11 Vue.js
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
python简单实现旋转图片的方法
2015/05/30 Python
python中将函数赋值给变量时需要注意的一些问题
2017/08/18 Python
使用实现pandas读取csv文件指定的前几行
2018/04/20 Python
Python3中详解fabfile的编写
2018/06/24 Python
Django中的forms组件实例详解
2018/11/08 Python
Python多项式回归的实现方法
2019/03/11 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
ipad上运行python的方法步骤
2019/10/12 Python
Python 实现opencv所使用的图片格式与 base64 转换
2020/01/09 Python
keras自定义回调函数查看训练的loss和accuracy方式
2020/05/23 Python
用python进行视频剪辑
2020/11/02 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
利用CSS3的transform做的动态时钟效果
2011/09/21 HTML / CSS
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
高一自我鉴定
2013/12/17 职场文书
学习型班组申报材料
2014/05/31 职场文书
关于分班的感言
2015/08/04 职场文书
搞笑婚礼主持词开场白
2015/11/24 职场文书
MATLAB 如何求取离散点的曲率最大值
2021/04/16 Python