2009-12-07 39 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

相关问题