Javascript 如何包装<;的上一个和下一个同级文本;br>;使用jquery使用div?
以下HTML结构已给定,无法更改:Javascript 如何包装<;的上一个和下一个同级文本;br>;使用jquery使用div?,javascript,jquery,html,nextsibling,Javascript,Jquery,Html,Nextsibling,以下HTML结构已给定,无法更改: ... 第一个文本行第二个文本行(可选) 第一个文本行第二个文本行(可选)。。。 您需要在中迭代br元素。默认值并在循环中添加新标记。您可以使用和属性获取元素的上一个/下一个文本同级 $(".default > br").each(function(){ // Store previous/next sibling of br in variable then remove it. var prev = $(this.previous
...
第一个文本行
第二个文本行(可选)
第一个文本行
第二个文本行(可选)。。。
您需要在中迭代br
元素。默认值
并在循环中添加新标记。您可以使用和属性获取元素的上一个/下一个文本同级
$(".default > br").each(function(){
// Store previous/next sibling of br in variable then remove it.
var prev = $(this.previousSibling).remove()[0].textContent;
var next = $(this.nextSibling).remove()[0].textContent;
// Insert new tag before br.
$(this).before("<div class='desc'>" + prev + "<br>" + next + "</div>");
}).remove(); // Remove br after loop
第一行文本
第二个文本行(可选)
第一行文本
第二个文本行(可选)
...
您可以将id添加到“br”,并按id列表进行包装
<div id="id1">First</div><br id="id2">
<div id="id2">Second</div><br>
<div id="id3">First</div><br id="id4">
<script>
$("#id1,#id2,#id3,#id4").wrapAll("<div class='wraped'></div>")
</script>
First
第二个
首先
$(“#id1,#id2,#id3,#id4”).wrapAll(“”)
我尝试了nextUntil,但只包装了br
标记:$(this.nextSibling).nextUntil('img').wrapAll('')
.content@mplungjan:抱歉,无法使用该代码…您好,太好了,谢谢!它适用于以
分隔的两行,但如初始问题中所述:也可以有一行(当然没有
)和三行。然后这就不起作用了。