2009-12-07 42 views
0

我一次又一次地將風格應用到我們網站上的某個短語。有沒有辦法在頁面上搜索該短語的實例並自動應用該樣式?使用Javascript或jQuery將風格添加到頁面上的短語

例子:

<div> 
    This is what you get from <span class="comp">Company Name</span>. 
    We do all kinds of things here at <span class="comp">Company Name</span>. 
</div> 
+0

這麼多副本:http://stackoverflow.com/questions/671574/highlight-text-in-html-with-javascript-jquery和http://stackoverflow.com/questions/119441/highlight-a-word -with-jquery和http://stackoverflow.com/questions/1230714/jquery-how-to-highlight-certain-words-with-jquery – 2009-12-08 03:53:05

回答

0

知道... http://docs.jquery.com/Selectors/contains#text

$("div:contains('Conpany Name')").css("text-decoration", "underline"); 
+2

這將風格整個div – CMS 2009-12-07 23:47:12

+0

正如CMS所說,這將風格的整個div ,在這種情況下最好使用.addClass(「comp」)而不是手動設置新的CSS樣式。 – Jay 2009-12-07 23:49:06

+0

哎呀......它找不到文本,但我相信只要設置相應文本的樣式就不會太多。 – David 2009-12-07 23:50:09

0
var body = document.getElementByTagName("body")[0].innerHTML; 

body.replace(/Company Name/g, '<span class="comp">Company Name</span>'); 
document.getElementByTagName("body")[0].innerHTML = body; 

在身體上面應該得到的一切,並與您的跨度替換它和,這並不需要jQuery的。

+0

我想你的意思是('公司名稱');或跳過中間的s,因爲當前的代碼會拋出一個錯誤。 – Jay 2009-12-07 23:52:37

+0

我的意思是這樣。謝謝指出 – AutomatedTester 2009-12-07 23:54:10

+1

'

blah blah
' - > whoops。不要使用regex.Bonus處理HTML:innerHTML writeback還破壞了任何表單數據,事件處理程序和JS/jQuery引用,請勿使用正則表達式處理HTML。 – bobince 2009-12-08 02:56:28

相關問題