我需要使用jQuery替换特定短语的任何实例,例如My Phrase
<span class="highlight">My</span> <span class="highlight">Phrase</span>
。
我对jQuery中的小东西很好,但是这个让我进入圈子。我已经找到了一些在线部分的解决方案,但是无法让事情一起工作。
帮助将不胜感激。
答案 0 :(得分:1)
我想你想看一下jQuery .wrap()函数。
这基本上允许你在你选择的html元素中包含jQuery数组的一部分,看看这里:
你可能需要更多的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
也可以做到这一点。我也会给你一个例子。但在这个简单的例子中,这是一个直截了当的答案。
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