• 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>
     
  • 相关阅读:
    图论-最短路模版
    图论-最小生成树模版
    图论-并查集模版
    数论-矩阵快速幂模版
    数论-GCD && 欧拉函数 && 快速求幂
    对象池技术
    页游代码、资源文件的优化
    页游加速检查
    扩展类与父类继承函数的前后关系
    关于ADDED_TO_STAGE事件
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9223912.html
Copyright © 2020-2023  润新知