如何动态添加<br>
标记以及HTML中的其他标记?
所以我之前的代码看起来像这样:
<span>Some Text</span><span>Another text</span>
我想看起来像这样:
<span>Some Text</span><br><span>Another text</span>
<div>
容器中有一些span标签,有没有办法在div容器中追加所有span标签,以便所有span标签都有一个接一个的br标签?
请注意,<span>
标记由库生成并附加,因此我无法更改为<p>
标记或其他具有分隔线的标记。
答案 0 :(得分:2)
获取除最后一个之外的所有范围,因为您不需要在最后br
之后放置span
标记,然后使用after()
在元素后面添加br
标记方法
// with pure css selector
$('.con > span:not(:last-of-type)').after('<br/>')
// or using jQuery :last
// $('.con span:not(:last)').after('<br/>')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="con">
<span>Some Text</span><span>Another text</span>
<span>Some Text</span><span>Another text</span>
</div>
参考:
:not
:last
:last-of-type
after
更新:使用纯CSS,您可以使用clear
属性。
span {
float:left;
clear:both;
}
<div class="con">
<span>Some Text</span><span>Another text</span>
<span>Some Text</span><span>Another text</span>
</div>
答案 1 :(得分:0)
您可以使用insertAfter方法添加html标记
$('span').each(function(i, v) {
$('<br/>').insertAfter($(this))
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span>Some Text</span><span>Another text</span>