我的JS中有以下功能
var p = $('.page p');
p.html(function(index, oldHtml) {
return oldHtml.replace(/\b(\w+?)\b/g, '<span class="word">$1</span>')
});
这打破了段落的每一个字。然而,有撇号的词(例如,不,克雷格)被分成两部分(例如don和t)
如何修改代码以制作完整的单词并保留在撇号中?
由于
答案 0 :(得分:1)
你试过了吗?
var p = $('.page p');
p.html(function(index, oldHtml) {
console.log(oldHtml);
return oldHtml.replace(/([\w']+)/g, '<span class="word">$1</span>');
});
&#13;
.word {
background-color: yellow;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="page">
<p>I'm so happy that I can't stop jumping up and down.</p>
</div>
&#13;
答案 1 :(得分:1)
如果你想简单地将一个字符串分成单词,你可以在空格处拆分然后重新加入......
$('.page p').each(function(){
var p = $(this);
var t = '<span class="word">'
+ p.html().split(' ').join('</span> <span class="word">')
+ '</span>';
p.html(t);
});
当然,这取决于你要处理的字符串类型,但在很多情况下这应该是基本的。