2012-11-25 41 views
2

可能重複HTML文檔中的字母:
Find text string in jQuery and make it bold應用CSS來的話/使用jQuery或PHP

想,如果我有一個HTML文件,因爲這

<div> 
hi this is one line<br> 
<p>This is second line</p> 
<p>This 'word' is within quote</p> 
<p>Another 'lorem ipsum' in quote</p> 
</div> 

我如何將不同的CSS應用於單詞'行',在我的文檔中出現很多次,還有不同的CSS使用jQuery在引號內出現的所有單詞。某種模式匹配和應用CSS

任何腳本可這樣做呢?

回答

2

您可以使用jQuery contains選擇這樣的代碼:

http://jsfiddle.net/z4ZwF/

function replaceText(textToSearch,classToApply) 
{ 
    $('div').html($('div').html().replace(new RegExp(textToSearch, 'g'),"<span class='"+classToApply+"'>"+textToSearch+"</span>")); 
} 

例如:replaceText("'lorem ipsum'",'red')replaceText("line",'red')

編輯

添加引號包裹在搜索和替換: http://jsfiddle.net/z4ZwF/3/

function replaceText(textToSearch,classToApply,searchAndWrapQuote) 
{ 
    searchAndWrapQuote = searchAndWrapQuote || false; 
    quote = (searchAndWrapQuote) ? "'" : ""; 

    $('div').html($('div').html().replace(new RegExp(quote+textToSearch+quote, 'g'),"<span class='"+classToApply+"'>"+quote+textToSearch+quote+"</span>")); 
} 

replaceText("lorem ipsum",'red',true) 
+0

新增小提琴http://jsfiddle.net/z4ZwF/ – sdespont

+0

但是如果我不得不申請的CSS的所有單詞,包括那些引號中引號? –

+0

附上用引號像replaceText文本(「‘Lorem存有’」,「紅」)http://jsfiddle.net/z4ZwF/2/ – sdespont

0

您不能將任何樣式直接應用於'行'字。你需要做的是分析的內容和包裝你的「線」的一些標籤 - 例如,之後你可以在你的CSS應用一些樣式此類。 可以用PHP和JavaScript中做到這一點。