jquery - 将 span 元素包裹在 h2 标签内的特定元素和文本节点周围

标签 jquery html css

是否可以使用 jQuery 执行以下操作:

<h2>
    This is a test 
    <span>i</span>
    mag
    <span>i</span>
    nat
    <span>i</span>
    on  
</h2>

变成这样:

<h2>
    This is a test 
    <span class="wrap">
       <span>i</span>
       mag
       <span>i</span>
       nat
       <span>i</span>
       on   
    </span>
</h2>

所以我希望外部跨度包裹所有内部跨度。

不要觉得这是一个重复的问题,因为我只想包装所有跨度而不是文本“这是一个测试”。

最佳答案

你需要使用$.wrapAll():

$(function () {
  $("h2 span").wrapAll('<span class="wrap" />');
});
.wrap {background: #ccf;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<h2>
  This is a test 
  <span>Test</span>
  <span>Test</span>
  <span>Test</span>   
</h2>

关于jquery - 将 span 元素包裹在 h2 标签内的特定元素和文本节点周围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34770617/

相关文章:

javascript - 使用 Javascript 显示嵌套的 JSON 数据

jquery - 幻灯片导航菜单

javascript - 在类外定位类内的元素

javascript - 在html5 Canvas 上逐帧绘制视频并用 slider 控制

jquery - 如何检测隐藏输入字段的值变化

jquery - 使用 jQuery 指定第一个 Nav ul

html - 对齐中心不适用于 ie 8 和 9

javascript - 在 Javascript 中获取文本框值(单个/多个字段)

html - Bulma - 列大小为一半仍适用于具有 is-desktop 类的平板电脑模式

html - 媒体查询无法换出背景图像