remove() 删除节点 | detach() 删除节点 | empty() 清空节点的内容 | clone() 复制节点

<html>
<head>
    <title></title>
    <script src="jquery-2.1.3.js"></script>
</head>
<body>
    <div>
        <ul>
            <li>中国</li>
            <li>美国</li>
            <li>德国</li>
            <li>俄国</li>
        </ul>
    </div>
    <ul id="tow"></ul>
    <button id="a">remove</button><button id="b">detach</button><button id="c">empty</button>
</body>
</html>
<script type="text/javascript">
    $(function () {
        $("li").click(function () {
            $(this).css("color", "red");
        })

        //----------------------remove() 删除节点

        //$("ul > li").filter(":contains(中国)").remove(); //删除ul子元素li中包含“中国”文本的li
        //$("li").remove(":contains(中国)"); //remove()方法也可以通过传递参数来选择性的删除元素 ,这里将包含“中国”文本的li删除

        $("#a").click(function () {
            var a = $("li").remove(); //删除所有的li元素
            $("#tow").append(a); //将刚刚删除的li元素添加到id为tow的ul中  我们会发现改变颜色的click事件不起作用了。
        })

        //----------------------detach() 删除节点

        //detach()和remove()方法一样,也是删除节点,只是这个方法不会把匹配的元素从jquery对象中删除,因而可以在将来使用这些匹配的元素,与remove()不同的是所有的绑定事件,附加的数据都会保留下来。

        $("#b").click(function () {
            var b = $("li").detach(); //删除所有的li元素
            $("#tow").append(b);//将刚刚删除的li元素添加到id为tow的ul中  我们会发现改变颜色的click事件还是起作用的。
        })

        //----------------------empty() 清空节点的内容

        $("#c").click(function () {
            $("li").empty(); //empty()方法并不是删除节点,而是清空节点的内容,节点还在。只是节点的内容被清空了
        })

        //----------------------clone() 复制节点

        $("li").click(function () {
            $(this).clone().appendTo("#tow"); //复制当前的节点并将它追加到id=tow的元素中 

        })

        //复制节点后,被复制的新元素并不具有任何行为,如果需要新元素也具有复制功能,可以如下这样写

        $("li").click(function () {
            $(this).clone(true).appendTo("#tow");//注意参数true 它的含义就是:复制元素的同时复制元素中所绑定的事件
        }) 

    })
</script>



时间: 2024-08-25 05:32:16

remove() 删除节点 | detach() 删除节点 | empty() 清空节点的内容 | clone() 复制节点的相关文章

DOM 复制节点案例

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <script type="text/javascript"> function copyDiv(flag){ var divNode=document.getElementById("div1");

DOM节点的删除(jQuery)

1DOM节点删除之empty()的基本用法 要移除页面上节点是开发者常见的操作,jQuery提供了几种不同的方法用来处理这个问题,这里我们开仔细了解下empty方法 empty 顾名思义,清空方法,但是与删除又有点不一样,因为它只移除了 指定元素中的所有子节点. 这个方法不仅移除子元素(和其他后代元素),同样移除元素里的文本.因为,根据说明,元素里任何文本字符串都被看做是该元素的子节点.请看下面的HTML: <div class="hello"><p>慕课网&l

jQuery修炼心得-DOM节点的删除

要移除页面上节点是开发者常见的操作,jQuery提供了几种不同的方法用来处理这个问题. 1.empty empty 顾名思义,清空方法,但是与删除又有点不一样,因为它只移除了 指定元素中的所有子节点. 这个方法不仅移除子元素(和其他后代元素),同样移除元素里的文本.因为,根据说明,元素里任何文本字符串都被看做是该元素的子节点.如果我们通过empty方法移除里面div的所有元素,它只是清空内部的html代码,但是标记仍然留在DOM中,通过empty移除了当前div元素下的所有p元素 但是本身id=

jQuery 删除、复制节点

不废话,直接上代码: 案例源码(待会用于操作的) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jQuery 删除.复制节点</title> <script type="text/javascript" src="../jquery-3.4.1.min.js"

二叉查找树中节点的删除

二叉查找树重要性质: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值:  (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值: (3)左.右子树也分别为二叉排序树: 现有,如下一棵二叉查找树. (图1) 现在,若要删除图1中,任意节点,需要考虑如下三种情况: (1)需要删除的节点下并没有其他子节点. (2)需要删除的节点下有一个子节点(左或右). (3)需要删除的节点下有两个子节点(既左右节点都存在). 第一种情况直接删除即可,下面,直接讨论第二种情况. 若我们要删除

数据结构-编程实现一个单链表节点的删除

1:代码如下: // ConsoleApplication15.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <malloc.h> #include <iostream> using namespace std; typedef struct node//定义链表结构体 { int data;//节点内容 node *next;//指向结构体的指针,下一个节点 }node; node *create()

7.访问单个节点的删除

题目描述 实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点. 给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true 思想:前后节点,值复制 代码如下: import java.util.*; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Remove { public bo

Java实现二叉搜索树节点的删除

前言: 之前写过一篇关于二叉搜索树的博客:Java对二叉搜索树进行插入.查找.遍历.最大值和最小值的操作  二叉查找树重要性质: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值: (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值: (3)左.右子树也分别为二叉排序树: 如图: 这次我想分享的是二叉搜索树中节点是如何删除的,删除节点是二叉搜索树常用的一般操作中最复杂的,删除节点要从查找要删除的节点开始入手 ,找到节点后,这个要删除的节点可能会有三种情况需要考虑: 1

SUSE Ceph 增加节点、减少节点、 删除OSD磁盘等操作 - Storage6

一.测试环境描述 之前我们已快速部署好一套Ceph集群(3节点),现要测试在现有集群中在线方式增加节点 如下表中可以看到增加节点node004具体配置 主机名 Public网络 管理网络 集群网络 说明 admin 192.168.2.39 172.200.50.39 --- 管理节点 node001 192.168.2.40 172.200.50.40 192.168.3.40 MON,OSD node002 192.168.2.41 172.200.50.41 192.168.3.41 MO