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()的区别的更多相关文章

  1. jQuery wrap wrapAll wrapInner使用

    jQuery wrap wrapAll wrapInner使用 <%@ page language="java" import="java.util.*" ...

  2. jQuery中 wrap() wrapAll() 与 wrapInner()的区别

    今晚看书的时候发现jQuery有三个包裹节点的方法,百度了一下jQuery wrap() / wrapAll() / wrapInner(),果然搜索结果 W3School的文档说明是排第一的. 可是 ...

  3. 浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异

    本文结合W3School的文档,分析了jQuery中 wrap() wrapAll() 与 wrapInner()的差异,并给出了图文对比教程,非常的简单实用,有需要的朋友可以参考下 今晚看书的时候发 ...

  4. jQuery中 wrap() wrapAll() 与 wrapInner()的差异

    wrap() 方法把每个被选元素放置在指定的 HTML 内容或元素中.jQuery 文档操作 - wrapAll() 方法 wrapAll() 在指定的 HTML 内容或元素中放置所有被选的元素.jQ ...

  5. jquery基本操作笔记

    来源于:http://www.cnblogs.com/webcome/p/5484005.html jq和js 可以共存,不能混用: 1 2 3 4 5 6 $('.box').css('backgr ...

  6. Jquery day02

    jquery day01回顾 语法: $("选择器")        , $(dom对象) , $("<div>") 选择器: 基本:#id.ele ...

  7. zepto源码--核心方法4(包装)--学习笔记

    主要介绍一下wrap, wrapAll, wrapInner, unwrap方法. wrapAll 在所有匹配元素外面包一个单独的结构.结构可以是单个元素或 几个嵌套的元素,并且可以是html字符串或 ...

  8. jQuery学习笔记:整理一些常用的jQuery操作DOM事件

    1.attr() .removeAttr() .attr() 方法可以传入一个名值对的参数,也可以传入一个包含2个以上名值对的对象参数,例如: .attr('src','images/a.jpg'); ...

  9. jQuery操作元素

    通常,我们在创建元素时,会使用以下代码: var p = document.createElement("p"); p.innerText = "this is para ...

随机推荐

  1. AD采集精度中的LSB

    测量范围+5V, 精度10位,LSB=0.0048 精度16位,LSB=0.000076951 测量范围+-5V, 精度10位,LSB=0.009765625,大约为0.01 精度16位,LSB=0. ...

  2. 一个WebLoad 脚本范例

    //initial the Agenda function InitAgenda(){     wlGlobals.SaveHeaders = true;     wlGlobals.SaveSour ...

  3. [luoguP1040] 加分二叉树(DP)

    传送门 区间DP水题 代码 #include <cstdio> #include <iostream> #define N 41 #define max(x, y) ((x) ...

  4. hdu 3697 贪心

    #include<stdio.h> #include<stdlib.h> #include<string.h> #define inf 0x3fffffff #de ...

  5. [NOIP2006] 普及组

    明明的随机数 STL真是偷懒神器 /*by SilverN*/ #include<algorithm> #include<iostream> #include<cstri ...

  6. tyvj1045 最大的算式

    描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大.因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号.例 ...

  7. POJ 2104 K-th Number (可持久化线段树)

    题目大意 给一个长度为n的序列,有m个询问,每次询问一个区间里面第k小的数. 解题分析 静态的区间第k大.复习了一下可持久化线段树. 首先对数值离散化,建一颗权值线段树.按照序列的顺序依次插入,每一个 ...

  8. hdu - 1104 Remainder (bfs + 数论)

    http://acm.hdu.edu.cn/showproblem.php?pid=1104 注意这里定义的取模运算和计算机的%是不一样的,这里的取模只会得到非负数. 而%可以得到正数和负数. 所以需 ...

  9. [bzoj3436]小K的农场_差分约束

    小K的农场 bzoj-3436 题目大意:给定n个点,每个节点有一个未知权值.现在有m个限制条件,形如:点i比点j至少大c,点i比点j至多大c或点i和点j相等.问是否可以通过给所有点赋值满足所有限制条 ...

  10. spring 数据源JNDI 基于tomcat mysql配置

    关键代码 <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean&q ...