2014-03-19 100 views
3

我从段落中找到特定单词并希望使其变为粗体。我做了下面的代码,但它不工作。从段落中查找特定单词

HTML

<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> 

脚本

var text = /Lorem/ig; 
    $('div') 
    .filter(function(){ 
     return text.test($(this).text()) 
    }).wrap('<strong></strong>'); 

Fiddle Demo

+0

你没有。测试()方法到您的jsfiddle代码。 – Rahul

+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

+0

我认为你在工作演示中连接了错误的小提琴。 – timo

+0

@ user3008011:确实我是......非常感谢.... !!! –

+0

如何使用多词...我认为这个词将代替'Lorem'。 –

0

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

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