zoukankan      html  css  js  c++  java
  • jQuery中删除方法empty(),remove()和detach()的区别

    empty(),remove()和detach()的区别

    empty():清空匹配的元素集合中所有的子节点,自身节点和事件都未被删除。

    remove():这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。但除了这个元素本身得以保留之外,其他的比如绑定的事件,附加的数据等都会被移除。

    detach():这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来。

    举个栗子 :

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset=" utf-8">
    <title>empty(),remove()和detach()的区别</title>
    <style type="text/css">
    div{
      200px;
      height:200px;
      border:5px solid green;
    }
    </style>
    <script typet="text/javascript" src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript"> 
    $(function () {
    
            
            $("#first").hover(function () {
                $(this).text("我是hover");
            });
            //使用 remove() hover()事件也会被删除
            // apple = $("#first").remove();
    
            //使用detach() hover()事件会保存下来
            // apple = $("#first").detach();
            // 使用empty只是清空了div的内容,节点和事件都未被删除
            apple = $("#first").empty();
    
            $("body").append(apple);//将id为"first"的div插入到body中。
    
            $("#btn").click(function(){
              var a=$("div");
              alert(a.length);//结果始终是2。
            })
    
        });
    </script> 
    </head>
    <body>
    <div id="first">我是第一</div>
    <div id="second">我是第二</div>
    <button id="btn">查看div的数量</button>
    </body>
    </html>
  • 相关阅读:
    Python爬虫常用请求头User-Agent
    python使用清华镜像源安装工具包selenium,解决直接pip install安装慢的问题
    工于擅其事必先利其器-全家桶的激活
    user.vue
    Gateway流量的入口,API全托管,协议适配,防刷
    nacos配置服务2
    项目笔记
    sql性能优化
    windows脚本
    js时间格式化参考文档
  • 原文地址:https://www.cnblogs.com/yud123/p/6430145.html
Copyright © 2011-2022 走看看