我无法更改标记,因为它是由我的CMS生成的.

因此,我需要当前的标记:

<details class="js-form-wrapper>
  <summary></summary>
  <div></div>
  <div></div>
  <table class="responsive"></table>
  <div class="js-form-type-managed-file"></div>
</details>

要使用JQuery变成这样,请执行以下操作:

<details class="js-form-wrapper>
    <summary></summary>
    <div></div>
    <div></div>
  <div class="my-wrapper">
    <table class="responsive"></table>
    <div class="js-form-type-managed-file"></div>
  </div>
</details>

推荐答案

您可以使用.wrapAll()并调用多个元素,因为它们不在一个父标记下

<details class="js-form-wrapper">
  <summary>summ</summary>
  <div>div 1</div>
  <div>div 2</div>
  <table class="responsive"></table>
  <div class="js-form-type-managed-file">child</div>
</details>
  $(".js-form-wrapper table, .js-form-type-managed-file").wrapAll('<div class="my-wrapper"></div>');

$(document).ready(function() {
  $(".js-form-wrapper table, .js-form-type-managed-file").wrapAll('<div class="my-wrapper"></div>');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<details class="js-form-wrapper">
  <summary>summary</summary>
  <div>div 1</div>
  <div>div 2</div>
  <table class="responsive"></table>
  <div class="js-form-type-managed-file">inspect here to see wrap</div>
</details>

Jquery相关问答推荐

JQuery日期 Select 器未设置从jQuery中 Select 的月份起90天或3个月

JQuery DateTimePicker-在 Select 中抓取星期几

在正则表达式字符括号中包含连字符?

jQuery 时间 Select 器

提交前添加 POST 参数

jQuery 绑定点击 *ANYTHING* 但 *ELEMENT*

Jquery Ajax,从 mvc.net 控制器返回成功/错误

使用 jQuery Validate 确认密码

按值对 Html Select 的选项进行排序的最有效方法是什么,同时保留当前选定的项目?

jquery-ui datepicker更改z-index

Select 除第一个之外的所有子元素

如何检测 window.print() 完成

.apply jQuery 函数是什么?

在jquery中查找具有某个属性值的所有元素

jQuery:如何创建一个简单的叠加层?

设置 JQuery event.preventDefault() 时绕过 window.open 上的弹出窗口阻止程序

组织 jQuery/JavaScript 代码的最佳方式 (2013)

如何以编程方式触发 ngClick

如何使用新的 JSON 数据手动更新数据表

使用 Ajax 下载并打开 PDF 文件