JavaScript删除元素、移除、remove、removeChild、querySelector

这篇具有很好参考价值的文章主要介绍了JavaScript删除元素、移除、remove、removeChild、querySelector。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


删除元素本身

方法1.1

event.target.remove();

方法1.2

event.target.parentNode.removeChild(event.target);

方法2.1

idDeleteSelf.remove();

方法2.2

idDeleteSelf.parentNode.removeChild(idDeleteSelf);

删除子元素

idParent.removeChild(idChild);

记得给子元素做冒泡处理


删除父元素

idChildR.parentNode.parentNode.removeChild(idParentR);

html

<body class="height_100vh d_f jc_c ai_c">
    <div class="width_300 padding_6 bs_bb b_1s_rgba_00_255_07">
        <div id="idDeleteSelf" class="padding_6 cursor_pointer" onclick="deleteSelf(event)">删除元素本身</div>

        <div id="idParent" class="d_f jc_sb ai_c padding_6 cursor_pointer" onclick="deleteChild()">
            删除子元素
            <span id="idChild" class="cursor_text zi7" onclick="stopPropagation(event)">子元素</span>
        </div>

        <div id="idParentR" class="d_f jc_sb ai_c padding_6">
            <span id="idChildR" class="cursor_text cursor_pointer" onclick="deleteParent()">删除父元素</span>
            父元素
        </div>
    </div>
</body>

JavaScript

/**
 * 删除父元素
 */
function deleteParent() {
    let idParentR = document.querySelector('#idParentR'),
        idChildR = document.querySelector('#idChildR');

    if (idParentR && idChildR) idChildR.parentNode.parentNode.removeChild(idParentR);
}

/**
 * 禁止子元素冒泡
 * @param {PointerEvent} event 
 */
function stopPropagation(event) {
    event.stopPropagation();
}

/**
 * 删除子元素
 */
function deleteChild() {
    let idParent = document.querySelector('#idParent'),
        idChild = document.querySelector('#idChild');

    if (idParent && idChild) idParent.removeChild(idChild);
}

/**
 * 删除元素本身
 * @param {PointerEvent} 元素本身
 */
function deleteSelf(event) {
    if (event.target) {
        // 方法1.1
        // event.target.remove();
        // 方法1.2
        event.target.parentNode.removeChild(event.target);
    }

    // let idDeleteSelf = document.querySelector('#idDeleteSelf');
    // if (idDeleteSelf) {
    //     // 方法2.1
    //     // idDeleteSelf.remove();
    //     // 方法2.2
    //     idDeleteSelf.parentNode.removeChild(idDeleteSelf);
    // }
}

remove

MDN

Element.remove方法,把对象从它所属的DOM树中删除。


w3school

remove方法从文档中删除元素(或节点)。
元素或节点是从文档对象模型(DOM)中删除的。


removeChild

w3school

removeChild方法删除元素的子节点。
该方法以Node对象返回被删除的节点;如果节点不存在,则返回null
子节点从是文档对象模型(DOM)中删除的。但是,可以修改返回的节点并将其插回DOM


MDN

Node.removeChild方法从DOM中删除一个子节点。返回删除的节点。


querySelector

MDN

文档对象模型Document引用的querySelector方法返回文档中与指定选择器或选择器组匹配的第一个Element对象。如果找不到匹配项,则返回null


w3school

querySelector方法返回与CSS选择器匹配的第一个元素。
如需返回所有匹配项(不仅是第一个匹配项),请改用querySelectorAll
如果选择器无效,则querySelectorquerySelectorAll都会抛出SYNTAX_ERR异常。
文章来源地址https://www.toymoban.com/news/detail-507109.html

到了这里,关于JavaScript删除元素、移除、remove、removeChild、querySelector的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 算法刷题营【Day3】:: 链表篇:单链表结点删除思路:一题辨别哨兵结点的优势(删除有奇效):203. 移除链表元素

    本内容是笔者结合《代码随想录》总结所得,记录学习过程,分享知识! 目录: 1. 开篇例题:203. 移除链表元素 2. 题解参考 - - 2.1 方法一:原表操作(不含哨兵结点) - - 2.2 方法二:虚设哨兵结点辅助法 - - 2.3 方法三:递归法 3. 单链表结点删除思路 4. 方法思路点拨:原表操

    2024年02月06日
    浏览(47)
  • Failed to execute ‘removeChild‘ on ‘Node‘: The node to be removed is not a child of this node.

    在React项目开发的时候遇到了这种报错,曾经百思不得其解。之前一个表格的时候都是好好的, 但是这次用了tabs切换两个表格之后就出现了这个问题... 发现问题的操作就是:页面刷新之后直接点击tabs默认显示的表格中的某个单元格就直接报错了。 可能是如下报错信息,这个

    2024年02月12日
    浏览(45)
  • JavaScript 删除数组中指定元素(5种方法)

    在 JavaScript 中,数组是一种常见的数据类型,可以存储多个元素。有时候,我们需要从数组中删除某些特定的元素。本文将介绍如何使用 JavaScript 删除数组中指定的元素。 JavaScript 中的 splice() 方法可用于在数组中添加或删除元素。如果我们需要删除数组中的元素,可以使用

    2024年02月12日
    浏览(49)
  • JavaScript 使用 splice 方法删除数组元素可能导致的问题

    splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。 JavaScript 遍历数组并通过 splice 方法删除该数组符合某些条件的元素将会导致哪些问题? 当使用 splice 方法从 JavaScript 数组中删除元素时,可能会

    2023年04月23日
    浏览(41)
  • 【JAVA】【IDEA】不小心把模块(module)移除(remove)了怎么恢复

    目录 前言 错误操作 解决方案 有一天觉得项目里的模块太多,想project栏里只显示一个模块,结果点了remove后,模块就打不开了。以下是错误操作:  然后该模块里的java文件就变成了这样: 但是不必担心,该模块的源文件还是在的。 打开项目结构(Project Structure)  ps:也可使

    2024年02月12日
    浏览(41)
  • GTK防止gtk_container_remove移除组件后被销毁

    gtk_container_remove移除容器内组件 为了移除后还可以继续使用组件,使用g_object_ref增加对象的引用计数 与之对应的是g_object_unref,减少对象引用计数,释放对象

    2024年02月12日
    浏览(41)
  • 遍历数组remove某些元素

    对一个数组遍历,移除某些元素,输出最后包含需要的元素的数组; 过程: 结果: 说明: 因为istudentName.size()的条件不成立,循环结束,元素5并没有被移除,列表的每个元素也没有被遍历。 过程: 结果: 倒序遍历,只要i=0 本来的想法: 既然studentName会发生变化,那我搞一

    2024年02月10日
    浏览(32)
  • 算法: 移除单链表的倒数第N个节点 19. Remove Nth Node From End of List

    Given the head of a linked list, remove the nth node from the end of the list and return its head. Example 1: Example 2: Example 3: Constraints: The number of nodes in the list is sz. 1 = sz = 30 0 = Node.val = 100 1 = n = sz Follow up: Could you do this in one pass? 该方法采用了两次遍历链表的方法。首先,它计算链表的总长度,然后通

    2024年02月13日
    浏览(45)
  • 【LeetCode 算法】Remove Comments 删除注释-模拟

    给一个 C++ 程序,删除程序中的注释。这个程序source是一个数组,其中source[i]表示第 i 行源码。 这表示每行源码由 ‘n’ 分隔。 在 C++ 中有两种注释风格,行内注释和块注释。 字符串// 表示行注释,表示//和其右侧的其余字符应该被忽略。 字符串/* 表示一个块注释,它表示

    2024年02月14日
    浏览(32)
  • Mongodb 删除文档Delete与Remove的区别

    db.collection.remove() 此方法已被 mongosh 弃用 已弃用的方法 替代方法 db.collection.remove() db.collection.deleteOne() db.collection.deleteMany() db.collection.findOneAndDelete() db.collection.bulkWrite() 5.0版本更改。 db.collection.remove() 方法可以具有两种语法之一。 remove()方法可以采用查询文档和可选的 justOn

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包