如何使用jQuery在文本节点周围包装HTML?

 

我需要使用jQuery围绕数字“3”包装HTML元素。 我无法修改HTML,因为它是动态生成的。

这将使用span包装所有数字,因此结构将是:

 1 

并且所选择的只有跨度而没有:

 2 var html = $('.pagination').html(); html = html.replace(/[0-9]/g,"$&"); $('.pagination').html(html); 

所以你可以轻松地设计它:

 .pagination a span {normal style} .pagination span{selected style} 

我有一个类似的问题 ,包装所有流浪文本

 $(function() { var test = $('.pagination') .contents() .filter(function() { return this.nodeType === 3 && $.trim(this.nodeValue) !== ''; }) .wrap(''); });​ 

刚刚与wrap()wrapAll()有一点混淆。 这是一个演示

这是旧的,但在我看来,更简单,更简单的方法是:

 $("div:not(a)").wrapInner("");