JQuery段落中的单词突出显示

齐格曼塔斯

我想制作一个文本突出显示工具:我有我的段落,qtext而我要在段落中突出显示的单词是answerCodes我想为他们添加一个span类,并在段落中突出显示它们。任何想法都会有所帮助!

    var answerCodes = $('[id*="_label"]').text(); 
    var qText = $('.question_text').html();
    for (var i=0; i<answerCodes.length; i++) {
        need to put something here...
    }   
普拉纳夫(Pranav C Balan)

根据答案代码生成正则表达式,并替换html内容。

// generate regex
var reg = new RegExp(
  // get all answer code elements
  $('[id*="_label"]')
  // iterate over them
  .map(function() {
    // get text content and
    // escape symbols which has special meaning in regex
    return $(this).text().replace(/[|\\{}()[\]^$+*?.]/g, '\\$&');    
  })
  // get result as array
  .get()
  // join them with pipe symbol
  .join('|'),
  // set global modifier for global match
  'g');


// iterate over p
$('.question_text').html(function(i, html) {
  // replace the question code with span wrapped content
  return html.replace(reg, '<span class="highliter">$&</span>');
});

var reg = new RegExp(
  $('[id*="_label"]').map(function() {
    return $(this).text().replace(/[|\\{}()[\]^$+*?.]/g, '\\$&');
  }).get().join('|'), 'g');


$('.question_text').html(function(i, html) {
  return html.replace(reg, '<span class="highliter">$&</span>');
});
.highliter {
  color: red
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label id="_label1">abc</label>
<label id="_label1">test</label>

<div class="question_text">a a a a abc bb b test dd abc fff</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用标记上的jQuery .mouseenter突出显示段落中的单词?

如何用角2突出显示段落中的单词?

VueJS:将鼠标悬停在段落中的单词上时突出显示整个句子

从关键字数组中突出显示段落中所有特定单词的出现

使用 javascript/Jquery 在 iframe 中突出显示单词或句子

突出显示数组中的单词

突出显示RichEditBox中的单词

如何突出显示段落中的日期?

在python中突出显示更改的单词

在Eclipse中突出显示某些单词

在gvim中突出显示光标下的单词

突出显示文本中单词的特定出现

如何突出显示EditText中的多个单词?

在UIAlertView中突出显示单词?(带粗体)

在 Ace Editor 中突出显示单词

在草稿js NPM中突出显示单词

自动在MS单词中自动更正-突出显示更改的单词

jQuery在链接的静态页面中搜索,突出显示找到的单词,而不破坏列表

使用 jQuery 在 textarea 中匹配和突出显示标签/单词(更改颜色和字体粗细)

jQuery在突出显示的段落中,它一次又一次地添加相同的文本

用jQuery突出显示一个单词

如何在页面上搜索单词并突出显示它们(JQuery)

如何从搜索列表中突出显示QTableWidget中的单词

突出显示没有 .innerHTML 的文本中的单词

ElasticSearch:是否可以突出显示查询中的单词而不是结果

突出显示用户要搜索的jTextField中的所有单词

如何使用Elasticsearch突出显示单词中的字符

如何在hbs中突出显示给定的单词?

使用ReactJ在搜索列表中突出显示匹配的字母/单词