从段落中找到特定的单词

时间:2014-03-19 09:36:30

标签: javascript jquery filter

我从一个段落中找到一个特定的单词,并希望将其变为粗体。我已经完成了以下代码,但它无法正常工作。

var text = /Lorem/ig;
$('div')
  .filter(function() {
    return text.test($(this).text())
  }).wrap('<strong></strong>');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
  survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing
  software like Aldus PageMaker including versions of Lorem Ipsum.</div>

Fiddle Demo

2 个答案:

答案 0 :(得分:3)

lil' plugin created by elclanrs

$.fn.wrapInTag = function(opts) {

   var tag = opts.tag || 'strong'
, words = opts.words || []
, regex = RegExp(words.join('|'), 'gi') // case insensitive
, replacement = '<'+ tag +'>Lorem</'+ tag +'>';

 return this.html(function() {
   return $(this).text().replace(regex, replacement);
  });};

// Usage
$('div').wrapInTag({
  tag: 'strong',
  words: ['Lorem']   //can be comma seprated like  ['Lorem','ipsum']
});

Working Demo

答案 1 :(得分:0)

您可以使用正则表达式反向引用:

var text=new RegExp('(Lorem)','ig');
$('div').html($('div').html().replace(text, "<strong>$1</strong>"));