wrap(),wrapAll(),wrapInner()的区别
2024-08-23 15:48:03
wrap从字面上理解就是包裹的意思,这三个函数也都是起到将内部节点进行包裹的作用,但是他们的各自的功能有又大不相同。
1. a.wrap(b)
这个函数的作用是用b将a进行包裹,其中a所选中的可以为多个,wrap()也会将这些被选中的节点各自都用b进行包裹。如下:
<div class = 'one'>
<p>111</p>
</div>
<p>222</p>
<div>333</div>
<p>121212</p>
<div>444</div>
<script>
var div = $('p');
div.wrap('<div class = "wrap"></div>');
</script>
这段代码将每个p节点都用class为wrap的节点进行包裹,html结构如下:
<div class = 'one'>
<div class = 'wrap'>
<p>111</p>
</div>
</div>
<div class="wrap">
<p>222</p>
</div>
<div>333</div>
<div class="wrap">
<p>121212</p>
</div>
<div>444</div>
可见每个p节点都被包裹,而且这些p节点都降了一级。包裹的元素占据了p之前的位置。
2. a.wrapAll(b)
这个函数的作用是将b所匹配到的节点统一到一起,使用一个a来包裹,因此a只包裹了一次。另外倘若b所匹配到的节点并没有紧挨在一起,那么这个函数会将其他的节点迁移到第一个节点所在的位置,使之与第一个节点成为兄弟节点,然后在进行包裹。
<div class = 'one'>
<p>111</p>
</div>
<p>222</p>
<div>333</div>
<div>
<p>121212</p>
</div>
<script>
var div = $('p');
div.wrapAll('<div class = "wrap"></div>');
</script>
这段代码是将所有的p节点使用div进行包裹,其结果如下:
<div class = 'one'>
<div class="wrap">
<p>111</p>
<p>222</p>
<p>121212</p>
</div>
</div>
<div>333</div>
<div>
</div>
可见无论其他的p标签在什么位置,都会被迁移到第一个p标签的位置。
3. a.wrapInner(b)
这个函数的作用是用b将a内部的内容进行包裹。不论是文本节点还是元素节点。
<div class = 'one'>
<p>111</p>
</div>
<script>
var div = $('.one');
div.wrapInner('<div class = "wrap"></div>');
</script>
这段代码是将class为one的div的内部内容进行包裹,其结果如下:
<div class = 'one'>
<div class="wrap">
<p>111</p>
</div>
</div>
最新文章
- 查看.NET Core源代码通过Autofac实现依赖注入到Controller属性
- win10+PHP7
- Java关键字总结及详解
- C#引用Interop.SQLDMO.dll后的注意事项(转)
- (转 部分修改) IOS 手势密码(简单版)
- Idea高级用法
- libmad编译
- pjax 笔记
- python使用h5py读取mat文件数据,并保存图像
- 使用iframe方式获得svg中的DOM元素,和svg 的 contentDocument 返回 null
- QQ邮箱无限扩容 + XMind8 Update8 Crack 小记
- es6 2017
- [CF791D]Bear and Tree Jumps
- Android刮刮卡效果
- switch和continue的关系
- jquery 之 extend的实现
- (二)Linux Shell编程——运算符、注释
- Golang学习系列:(一)介绍和安装
- Android 打印log 在logcat 看不到
- IO 流的操作基本规律