繁体   English   中英

从父元素中移除子元素

[英]Remove children from parent Element

我的Html:

<html>
<head>
    <title>Web Test</title>
    <meta charset="utf-8" />
    <link href="my.css" rel="stylesheet" as="style" media="all">
</head>
<body>
    <header>
        <div class="navbar">
            <a href="#">LINK</a>
        </div>
    </header>
    <main>
        <div class="adv">
            <a href="#">LINK</a>
        </div>
        <div class="content">
            Web Test...!
        </div>
    </main>
    <footer>
        <a href="#">LINK</a>
    </footer>
    <script>
        $(".content head").remove();
        ...
    </script>
</body>
</html>

我的 JavaScript:

<script>
    $("head").remove();
    $('header').remove();
    $('footer').remove();
    $('div.adv').remove();
    $('script').remove();
</script>

必须删除以下所有元素:“html”、“head”、“title”、“meta”、“body”、“header”、“footer”、“main”、“script”和“div.adv” .

只有以下元素不应被删除:“div.content”

出去:

<div class="content">
    Web Test...!
</div>

在普通 JavaScript 中使用Element.remove()

const ELS_toRemove = document.querySelectorAll('header, footer');  
ELS_toRemove.forEach(EL => EL.remove());

或针对您的选择器进行具体说明:

"body > header, body > footer"

如果你想重新附加一个元素( .content ),同时删除其他元素的内容,也可以使用Element.append() .outerHTML相反,它将保留移动元素的所有当前数据和事件。

 const EL_content = document.querySelector(".content"); const ELS_toRemove = document.querySelectorAll("body > *"); // Remove desired elements: ELS_toRemove.forEach(EL => EL.remove()); // Add back.content //.append() will preserve all current data and Events on that element document.querySelector("body").append(EL_content);
 <html> <head> <title>Web Test</title> <meta charset="utf-8" /> <link href="my.css" rel="stylesheet" as="style" media="all"> </head> <body> <header> <div class="navbar"> <a href="#">LINK</a> </div> </header> <main> <div class="adv"> <a href="#">LINK</a> </div> <div class="content"> Web Test...! </div> </main> <footer> <a href="#">LINK</a> </footer> </body> </html>

您应该将JQuery添加到head上的 HTML 代码中。

<script type="text/javascript" src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

不要忘记将您的代码放在 JQuery 导入下方:

<script type="text/javascript" src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
 $(document).ready(function() {
    $("head").remove();
    $('header').remove();
    $('footer').remove();
    $('div.adv').remove();
    $('script').remove();
});
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM