wrap(),wrapAll(),wrapInner()的区别
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>
wrap(),wrapAll(),wrapInner()的区别的更多相关文章
- jQuery wrap wrapAll wrapInner使用
jQuery wrap wrapAll wrapInner使用 <%@ page language="java" import="java.util.*" ...
- jQuery中 wrap() wrapAll() 与 wrapInner()的区别
今晚看书的时候发现jQuery有三个包裹节点的方法,百度了一下jQuery wrap() / wrapAll() / wrapInner(),果然搜索结果 W3School的文档说明是排第一的. 可是 ...
- 浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
本文结合W3School的文档,分析了jQuery中 wrap() wrapAll() 与 wrapInner()的差异,并给出了图文对比教程,非常的简单实用,有需要的朋友可以参考下 今晚看书的时候发 ...
- jQuery中 wrap() wrapAll() 与 wrapInner()的差异
wrap() 方法把每个被选元素放置在指定的 HTML 内容或元素中.jQuery 文档操作 - wrapAll() 方法 wrapAll() 在指定的 HTML 内容或元素中放置所有被选的元素.jQ ...
- jquery基本操作笔记
来源于:http://www.cnblogs.com/webcome/p/5484005.html jq和js 可以共存,不能混用: 1 2 3 4 5 6 $('.box').css('backgr ...
- Jquery day02
jquery day01回顾 语法: $("选择器") , $(dom对象) , $("<div>") 选择器: 基本:#id.ele ...
- zepto源码--核心方法4(包装)--学习笔记
主要介绍一下wrap, wrapAll, wrapInner, unwrap方法. wrapAll 在所有匹配元素外面包一个单独的结构.结构可以是单个元素或 几个嵌套的元素,并且可以是html字符串或 ...
- jQuery学习笔记:整理一些常用的jQuery操作DOM事件
1.attr() .removeAttr() .attr() 方法可以传入一个名值对的参数,也可以传入一个包含2个以上名值对的对象参数,例如: .attr('src','images/a.jpg'); ...
- jQuery操作元素
通常,我们在创建元素时,会使用以下代码: var p = document.createElement("p"); p.innerText = "this is para ...
随机推荐
- 04001_HTML简单介绍
1.超文本标记语言 (1)超文本:比普通文本功能更加强大: (2)标记语言:使用一组标签对内容进行描述的一门语言,它不是编程语言! 2.HTML语法和规范 (1)所有的html文件后缀名都是以.htm ...
- Big String(poj 2887)
题意: 给你一个不超过1e6的字符串,和不超过2000次的操作 操作分为两种: 1.将一个字符插入到某个位置的前面 2.询问当前位置的字符 /* 块状链表模板水题(我的智商也就能做这种题了). 观察题 ...
- POJ1276 Cash Machine
Time Limit: 1000MS Memory Limit: 10000KB 64bit IO Format: %lld & %llu Description A Bank pla ...
- vagrant的学习 之 LNMP和LAMP
vagrant的学习 之 LNMP和LAMP 本文根据慕课网的视频教程练习,感谢慕课网! 慕课的参考文档地址:https://github.com/apanly/mooc/tree/master/va ...
- 【进击后端】linux安装最新版nodejs
nodejs下载:https://nodejs.org/zh-cn/download/ 1.cd /root/download 2.wget https://nodejs.org/dist/v6.11 ...
- Google Protocol Buffer 的使用(二)
一.protobuf应用场景 protobuf 在Java中的应用场景可以是序列化和反序列化,流可以通过文件或者通过网络TCP/UDP等方式传输.新建一个.proto文件 syntax = " ...
- P2910 [USACO08OPEN]寻宝之路Clear And Present Danger 洛谷
https://www.luogu.org/problem/show?pid=2910 题目描述 Farmer John is on a boat seeking fabled treasure on ...
- poj——3687 Labeling Balls
Labeling Balls Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14835 Accepted: 4346 D ...
- MongoDB学习day01--非关系型数据库
1.数据库和文件的主要区别: 1.1数据库有数据库表/行和列的概念,让我们存储操作数据方便 1.2数据库提供了方便的接口,让java.php..net.nodejs很方便的实现增删改查 2.NoSQL ...
- JDBC实例代码
以下内容引用自http://wiki.jikexueyuan.com/project/jdbc/sample-code.html: 前提: 1.在MySQL中创建数据表和增加模拟数据: DROP TA ...