如何使用jQuery替换字符串的一部分,然后围绕字符串的每个单词包装标签

时间:2012-01-23 16:57:27

标签: jquery

我需要使用jQuery替换特定短语的任何实例,例如My Phrase <span class="highlight">My</span> <span class="highlight">Phrase</span>

我对jQuery中的小东西很好,但是这个让我进入圈子。我已经找到了一些在线部分的解决方案,但是无法让事情一起工作。

帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

我想你想看一下jQuery .wrap()函数。

这基本上允许你在你选择的html元素中包含jQuery数组的一部分,看看这里:

http://api.jquery.com/wrap/

你可能需要更多的funk才能真正将作品转换成你想要的格式,但你可以用string.split('')将html数组分解为组件单词,然后'wrap()'用你的html的话。

Psuedo代码:

var myPhrase = "My Phrase";
$.each(myPhrase.split(' ').slice(0,-1), function(index, item) {
    item.wrap('<span class=\"highlight\"/>');
});

答案 1 :(得分:1)

您的问题中有一些细节,但假设字符串始终只是文本,则将其拆分到空格并将其包装在标记中很简单。有jQuery的wrap也可以做到这一点。我也会给你一个例子。但在这个简单的例子中,这是一个直截了当的答案。

http://jsfiddle.net/tBR2r/

var words = $('body').text().split(' ');
var wrappedText = '';
for (var i = 0; i < words.length; i++) {
    wrappedText += '<span>'+words[i]+'</span> ';
}
$('body').html(wrappedText);

答案 2 :(得分:0)

试试这个。

var str = "...My Phrase....";

str = str.replace(/My Phrase/g, '<span class="highlight">My</span> <span class="highlight">Phrase</span>');

您还可以查看此链接以获取您的信息。

http://www.tizag.com/javascriptT/javascript-string-replace.php