如何使用jQuery使用跨度包装部分文本?

时间:2012-05-04 04:00:16

标签: jquery dom textwrapping dom-traversal

这是我想要做的事情

Fox<span>Rox</span>

之前

FoxRox

如何在Rox周围换算?

2 个答案:

答案 0 :(得分:6)

这将搜索整个DOM并将每个Rox替换为<span>Rox</span>

$(':contains("Rox")').html(function(index, oldHTML) {
    return oldHTML.replace(/(Rox)/g, '<span>$&</span>');
});​

Live DEMO

答案 1 :(得分:5)

在这种情况下,您可以使用JavaScript replace()方法:

'FoxRox'.replace(/(Rox)/, '<span>$1</span>');

要在文档中全部替换,您可以尝试以下操作:

$(":contains('Rox')").html(function(i,o){
  return o.replace(/(Rox)/g, '<span>$1</span>');
});​

请注意,如果您的字词不是&#34; Rox&#34;,则您需要在上述脚本中进行更改。