gpt4 book ai didi

jQuery 添加结束标记,然后在使用 .before() 时重新打开

转载 作者:搜寻专家 更新时间:2023-10-31 22:08:47 24 4
gpt4 key购买 nike

我有这个 HTML:

    <ul>
<div>
<li>a</li>
<li>b</li>
<li class="break">c</li>
<li>d</li>
<li>f</li>
</div>
</ul>

我要的是哪里class="break"我想要 parent div关闭并打开一个新的,所以我最终得到了这个:

    <ul>
<div>
<li>a</li>
<li>b</li>
</div>
<div>
<li>c</li>
<li>d</li>
<li>f</li>
</div>
</ul>

现在我试过了:

$(".break").before("</div><div>");

但是 jQuery 并没有像我期望的那样运行,而是重写了我输入的内容并放置了一个空的 div反而。像这样:

    <ul>
<div>
<li>a</li>
<li>b</li>
<div></div>
<li class="break">c</li>
<li>d</li>
<li>f</li>
</div>
</ul>

那么我怎样才能实现我所追求的呢?

最佳答案

假设您有以下标记:

<ul>
<li>a</li>
<li>b</li>
<li class="break">c</li>
<li>d</li>
<li>f</li>
</ul>

并且您想将其转换为:

<ul>
<li>a</li>
<li>b</li>
</ul>
<ul>
<li class="break">c</li>
<li>d</li>
<li>f</li>
</ul>

您可以使用 nextAll()andSelf()获取要移动的元素,然后创建一个新的 <ul>并使用 append()重新定位元素:

var boundary = $("li.break");
$("<ul>").insertAfter(boundary.parent()).append(boundary.nextAll().andSelf());

您可以在this fiddle 中看到结果.

关于jQuery 添加结束标记,然后在使用 .before() 时重新打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9886676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com