0

我很困惑,我需要你的帮助怎么办?如果

<pre>Lorem Ipsum Dolor Sir amet</pre>

我想要黄色的“ipsum”文本。

4

3 回答 3

3

尝试在其中创建一个跨度标签和wrap您的内容。

$('pre:contains(Ipsum )').each(function(){
  $(this).html(
    $(this).html().replace('Ipsum ','<span class="colorClass">  Ipsum  </span>')
  );
});

工作演示

于 2013-08-30T13:45:56.773 回答
2

您无法突出显示文本节点,您需要将其包装在另一个元素中,span然后使用它来应用突出显示

$('pre').html(function(idx, html){
    return html.replace(/(Ipsum)/, '<span class="highlight">$1</span>')
})

演示:小提琴

于 2013-08-30T13:47:27.447 回答
1

运行一个小替换函数以编程方式隔离您的目标词,在这种情况下是第二个词。如果您始终知道要定位的单词,您也可以将其替换为硬编码值。

HTML

<pre>Lorem Ipsum Dolor Sir amet</pre>

CSS

span { background: yellow; }

jQuery

$('pre').html(function(i, word) {
  return word.replace(/\s(.*?)\s/, ' <span>$1</span> ');
});

代码笔示例

于 2013-08-30T13:44:59.167 回答