javascript - jQuery 将子元素的子部分元素移动到其父元素并删除其他元素
问题描述
我有一个parent-container
它有标题,其他 div,主要是<section>
.
我想<section>
单独移动到每个容器中的父级。
我的代码按预期运行,但我需要删除所有其他动态出现的元素,例如:table、p、b 等……我不确定,这是否正确。:(
最终代码应采用以下格式:
<div class="parent-container">
<section>Original content 1</section>
</div>
<div class="parent-container">
<section>Original content 2</section>
</div>
<div class="parent-container">
<section>Original content 3</section>
</div>
$('.parent-container').each(function () {
jQuery(this).find('section').appendTo($(this));
jQuery(this).find('div').remove();
jQuery(this).find('h1').remove();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="parent-container">
<div class="pc-1">
<h1>Hello world</h1>
<div class="pc-2">
<section>Original content 1</section>
<p>Some more content</p>
</div>
</div>
</div>
<div class="parent-container">
<div class="pc-1">
<h1>Hello world</h1>
<div class="pc-2">
<section>Original content 2</section>
<p>Some more content</p>
</div>
</div>
</div>
<div class="parent-container">
<div class="pc-1">
<h1>Hello world</h1>
<div class="pc-2">
<section>Original content 3</section>
<p>Some more content</p>
</div>
</div>
</div>
解决方案
移动<section>
标签后,选择并删除任何不是 a 的内容<section>
:
$('.parent-container').each(function () {
jQuery(this).find('section').appendTo($(this)); // Move sections to parent
jQuery(this).find(':not(section)').remove(); // Delete anything that is not a section
});
推荐阅读
- git - 如何在不合并的情况下将所有更改推送到原始主机?
- python - 允许惰性 API 调用和两种构造的 Python 类
- pandas - 对 Pandas DF 单列排序未排序
- python - 如何使用 matplotlib 打印带有 alpha 的灰度图像?
- javascript - 对象被视为字符串
- json - 在 Google BigQuery 中读取多级重复 JSON 结构数据时执行时间较长
- r - 在每个轨迹的最后显示标签 - ggplot2
- sql-server - 添加新列并更改同一 SQL 脚本中的值时出错
- authentication - 使用 Redux 和 Flutter 登录
- c# - 如何在 C# 中使用 SHA256 签名对 ECDSA 进行签名和验证