jquery - 如何在另一个已经有一些 html 的元素中插入 html 元素?

标签 jquery html

我有一个这样的 html 结构。

<ul class="foo">
    <li class="bar">
        <a href="bar.html">Bar Html</a>
    </li>
</ul>

现在我想使用 jquery 重写 html 为

<ul class="foo">
     <li class="bar">
          <span class="spanclass">
               <a href="bar.html">Bar Html</a>
          </span>
     </li>
</ul> 

所以我的问题是如何使用 jquery 实现此目的,我只需要在 html 元素中插入一个 html 元素,以便 html 的内容仍然存在于新插入的 html 中。

如果我这样改写代码

<ul class="foo">
     <li class="bar">
        <a href="bar.html">Bar Html</a>
        <ul class="sub foo">
            <li class="sub bar">
                <a href="sub-bar.html">Sub Bar Html</a>
            </li>
         </ul>
    </li>
</ul>

而且我想得到和我上一个问题一样的结果,那我该怎么办。结果应如下所示。

<ul class="foo">
     <li class="bar">
        <div class="divclass">
            <a href="bar.html">Bar Html</a>
            <ul class="sub foo">
                <li class="sub bar">
                    <a href="sub-bar.html">Sub Bar Html</a>
                </li>
            </ul>
        </div>
    </li>
</ul>

最佳答案

$('ul.foo li.bar a').wrap('<span class="spanclass">')

将产生:

<ul class="foo">
    <li class="bar">
        <span class="spanclass"><a href="bar.html">Bar Html</a></span>
    </li>
</ul>

jsFiddle example

参见:.wrap()

关于jquery - 如何在另一个已经有一些 html 的元素中插入 html 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24845629/

相关文章:

html - parent 的填充将 child 的边距变成高度扩展

html - 如何在页面中间居中 Bootstrap col-md-4 和 col-md-5?

javascript - 是否可以修改 jquery 对象并检索修改后的对象

html - 右手边神秘的空白

javascript - 无法在 mozilla firefox 上验证

html - CSS 转换在移动设备上不起作用

javascript - 防止代码被利用,保护 Javascript 和表单

javascript - 未选中特定复选框按钮时如何不显示 div 区域?

jQuery 在一定的设定时间后淡出 DIV 显示

javascript - 在 Chrome 上使用 Javascript 捕获 Android 中的 native 后退按钮