当前位置: 首页 > news >正文

js进阶 11-13 jquery如何包裹元素和去除元素外的包裹

js进阶 11-13  jquery如何包裹元素和去除元素外的包裹

一、总结

一句话总结:wrap()、wrapAll()、unwrap()、innerWrap()四个方法

 

1、jquery中unwrap()方法是干嘛的?

去除元素外的包裹元素

54             $('#btn3').click(function(){ 55  $('li').unwrap() 56  $('li').unwrap() 57  })

 

 

2、wrap()、wrapAll()、innerWrap()的区别是什么?

外层包,外层用一个包,在里面包

  • wrap():把每个被选元素放置在指定的 HTML 内容或元素中。
  • wrapAll():将所有匹配的元素用单个元素包裹起来
  • wrapInner():将每一个匹配的元素的子内容(包括文本节点)用一个HTML结构包裹起来

 

 

 

二、jquery如何包裹元素和去除元素外的包裹

1、相关知识

包裹节点:

  • wrap():把每个被选元素放置在指定的 HTML 内容或元素中。
  • wrapAll():将所有匹配的元素用单个元素包裹起来
  • unwrap():移出元素的父元素。
  • wrapInner():将每一个匹配的元素的子内容(包括文本节点)用一个HTML结构包裹起来

 

2、代码

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <style>
 4 </style>
 5 <head>
 6     <meta charset="UTF-8">
 7     <title>演示文档</title>
 8     <script type="text/javascript" src="jquery-3.1.1.min.js"></script>
 9     <style>
10         li{
11             background: #ccc;margin-top: 25px;width: 150px;
12         }
13         .orange{background: orange}
14         .red{background: red}
15         .green{background: green}
16         .ccc{background: #ccc;}
17         #div1{width: 200px;height: 25px;}
18     </style>
19 </style>
20 </head>
21 <body>
22     <div id="div1" class="ccc"></div>
23     <ol>
24         <li class="orange">列表项1</li>
25         <li class="red"><i>列表项2</i></li>
26         <li class="green">列表项3</li>
27     </ol>
28     <input id="btn1" type="button" value='wrap'>
29     <input id="btn2" type="button" value='wrapAll'>
30     <input id="btn3" type="button" value='unwrap'>
31     <input id="btn4" type="button" value='wrapInner'>
32     
33     
34     <script type="text/javascript">
35         $(function(){
36             $('#btn1').click(function(){
37                 // $('li').wrap('<div class="ccc"></div>')
38                 $('li').wrap($('#div1'))
39                 //已存在的元素不会被移动,只会被复制,并包裹被选元素。
40                 // $('li').wrap(function(){
41                 //     return '<div class="ccc"></div>'
42                 // })
43 
44             })
45             $('#btn2').click(function(){
46                  // $('li').wrapAll('<div class="ccc"></div>')
47                      //$('li').wrapAll($('#div1'))
48                  $('li').wrapAll(function(){
49                     return '<div class="ccc"></div>'
50                 })
51             })
52             // $('li').wrap('<div class="ccc"></div>')
53             // $('li').wrap('<div class="ccc"></div>')
54             $('#btn3').click(function(){
55                 $('li').unwrap()
56                 $('li').unwrap()
57             })
58             $('#btn4').click(function(){
59                 // $('li').wrapInner($('#div1'))
60                 $('li').wrapInner(function(){
61                     return '<div class="ccc"></div>'
62                 })
63             })
64         })
65     </script>
66 </body>
67 </html>

 

 

 

 

 

 

 

 

 

 

相关文章:

  • Linux 守护进程
  • 甲骨文解散Java Mission Control团队事件新进展
  • 内部类访问局部变量为什么要用final修饰
  • Java高级编程——选redis还是memcache,源码怎么说?
  • Python学习——文件操作和异常处理
  • radhat6.6上安装oracle12c RAC (三)
  • 复制cp 近半年【181天:2018-01-01至20180627 这段时间】图片到upoad目录下
  • javascript 中数组的创建 添加 与将数组转换成字符串 页面三种提交请求的方式...
  • Spark MLlib系列(二):基于协同过滤的电影推荐系统
  • spark-submit提交Spark Streamming+Kafka程序
  • Jmeter
  • linux使用--根目录空间不足,追加空间到根目录下
  • Java中有几种类型的流?以及常见的实现类都有哪些?
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • docker 系列之 配置阿里云镜像加速器
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【笔记】你不知道的JS读书笔记——Promise
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • Git学习与使用心得(1)—— 初始化
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Java小白进阶笔记(3)-初级面向对象
  • Js基础——数据类型之Null和Undefined
  • js学习笔记
  • js中forEach回调同异步问题
  • JS专题之继承
  • JWT究竟是什么呢?
  • node学习系列之简单文件上传
  • Spring Boot MyBatis配置多种数据库
  • TypeScript实现数据结构(一)栈,队列,链表
  • 简析gRPC client 连接管理
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 开源地图数据可视化库——mapnik
  • 排序(1):冒泡排序
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 【干货分享】dos命令大全
  • #《AI中文版》V3 第 1 章 概述
  • #Java第九次作业--输入输出流和文件操作
  • #LLM入门|Prompt#3.3_存储_Memory
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (2)STM32单片机上位机
  • (5)STL算法之复制
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (五)c52学习之旅-静态数码管
  • (一)Linux+Windows下安装ffmpeg
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET Framework杂记
  • .net 发送邮件
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .Net(C#)常用转换byte转uint32、byte转float等