如何在br之后获取文本并将其包装在div中

时间:2013-08-16 09:32:06

标签: javascript jquery html-table

我有这段代码:

<td class="tabledata">
  <img>
  <span class="someclass"></span>
  <br> text
</td>

我想获取文本并将其包装在div中并为其指定类名。

我试过了:

$(".tabledata").html().split("<br />")[1];

$(".tabledata").each(function() {
  $(this).nextAll("br").get(0).wrap('<div></div>')
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<td class="tabledata">
  <img>
  <span class="someclass"></span>
  <br> text
</td>

1 个答案:

答案 0 :(得分:4)

尝试

$($(".tabledata").children('br').get(0).nextSibling).wrap('<div />');

演示:Fiddle

如果要包装td的所有直接文本节点子节点

$(".tabledata").contents().filter(function(){
    return this.nodeType == 3 && $.trim($(this).text()) != '';
}).wrap('<div />');

演示:Fiddle