2

我有这个代码:

<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>

4

1 回答 1

4

尝试

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

演示:小提琴

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

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

演示:小提琴

于 2013-08-16T09:34:18.037 回答