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>
  • 相关阅读:
    Object.wait()与Object.notify()的用法
    浅析 Java Thread.join()
    线程状态
    cpu分析简介
    Linux统计某文件夹下文件、文件夹的个数
    Quarta介绍
    初识Quartz(三)
    restful api的10个最佳实践
    request.getSession(true)和request.getSession(false)的区别
    div+css画一个小猪佩奇
  • 原文地址:https://www.cnblogs.com/yud123/p/6430145.html
Copyright © 2011-2022 走看看