jquery - 如何在使用 jquery 的多个内容元素之后关闭一个 div 标签并打开一个新标签?
问题描述
我有一个 div 容器(包含子元素),需要分成几个容器(取决于内容长度)
<div class="box">
<p>Element 1</p>
<p>Element 2</p>
<p>Element 3</p>
<p class="here">Element 4</p>
<p>Element 5</p>
<p>Element 6</p>
</div>
我已经尝试过insertBefore()
:
$('</div></div class="box">').insertBefore($('.here'));
但这会产生类似的情况(我不明白):
<div class="box">
<p>Element 1</p>
<p>Element 2</p>
<p>Element 3</p>
<div class="box"></div>
<p class="here">Element 4</p>
<p>Element 5</p>
<p>Element 6</p>
</div>
我需要将我的“盒子”容器分成几个。有没有其他方法来管理这个,得到它吗?
<div class="box">
<p>Element 1</p>
<p>Element 2</p>
<p>Element 3</p>
</div>
<div class="box">
<p class="here">Element 4</p>
<p>Element 5</p>
<p>Element 6</p>
</div>
背景:添加每个内容的高度<p>
。当达到特定的总高度时,我需要关闭当前并打开一个新的“盒子”div。
我也阅读了类似的主题,但没有找到(或可能理解)我的问题的任何解决方案。
解决方案
用于appendTo
将 new 附加.box
到正文,然后用于.append
将所有元素移动到该 new.here
或之后:.here
.box
$('<div class="box"></div>')
.appendTo('body')
.append($('.here, .here ~ *'));
.box {
border: 1px solid black;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="box">
<p>Element 1</p>
<p>Element 2</p>
<p>Element 3</p>
<p class="here">Element 4</p>
<p>Element 5</p>
<p>Element 6</p>
</div>
推荐阅读
- laravel - 将多个相同的名称转换为一个名称,并且值在 laravel 中得到总和
- azure - 如何从 DevOps api 获取团队头像
- openlayers - 开放层。矢量瓷砖,边缘的样式特征
- dragonruby-game-toolkit - 如何在 DragonRuby Game Toolkit 中的“sprite”上渲染“solid”?
- go - 如何更正“if”构造中的类型比较
- vim - Vim 视觉模式在 cygwin 中表现异常
- python - Passing a scrapy HtmlResponse object to an external function
- asp.net - 没有“继承”属性就不能使用“代码文件”属性
- javascript - 如何获取对象属性 id 为“随机”的嵌套数组项并更改名称属性
- docker - 重启后的Docker容器:-无法连接到总线:没有这样的文件或目录