使用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 函数集合
Jun 11 Javascript
javascript 学习笔记(一)DOM基本操作
Apr 08 Javascript
JS 实现点击a标签的时候让其背景更换
Oct 15 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
Jul 27 Javascript
jQuery添加和删除指定标签的方法
Dec 16 Javascript
js中作用域的实例解析
Mar 16 Javascript
借助node实战JSONP跨域实例
Mar 30 Javascript
JavaScript设计模式之建造者模式实例教程
Jul 02 Javascript
Spring boot 和Vue开发中CORS跨域问题解决
Sep 05 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
May 14 Javascript
webpack3升级到webpack4遇到问题总结
Sep 30 Javascript
js实现盒子移动动画效果
Aug 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
PHPCMS的使用小结
2010/09/20 PHP
php 文件上传类代码
2011/08/06 PHP
php 模拟post_验证页面的返回状态(实例讲解)
2013/10/28 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
2013/08/09 Javascript
jQuery之过滤元素操作小结
2013/11/30 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
jquery获取html元素的绝对位置和相对位置的方法
2014/06/20 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
网页从弹窗页面单选框传值至父页面代码分享
2015/09/29 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
js笔试题-接收get请求参数
2019/06/15 Javascript
Jquery异步上传文件代码实例
2019/11/13 jQuery
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
[58:35]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
Python实现修改文件内容的方法分析
2018/03/25 Python
python实现录音小程序
2020/10/26 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
解决Mac下使用python的坑
2019/08/13 Python
Python如何输出百分比
2020/07/31 Python
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
大学毕业登记表自我鉴定
2013/10/09 职场文书
岗位职责定义及内容
2013/11/08 职场文书
无偿献血倡议书
2014/04/14 职场文书
商业融资计划书
2014/04/29 职场文书
入党介绍人评语
2014/05/06 职场文书
音乐节策划方案
2014/06/09 职场文书
旅游饭店管理专业自荐书
2014/06/28 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
tomcat默认最大连接数及相关调整方法
2022/05/06 Servers