2014-03-19 142 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>"));