2013-02-09 59 views

回答

1

你不能用CSS。唯一的非元素(css創建的)pseudo-elements::first-line::first-letter

但是,您可以使用JS通過DOM進行搜索並在要加亮的字母周圍創建標籤。檢查highlight words in html using regex & javascript - almost there如何做到這一點。

+0

謝謝,這個小代碼有什麼問題? 'var a = getElementById(「b」) 如果a!= NaN {style.color =「blue」}' – user1599537 2013-02-09 15:54:18

+0

@ user1599537該代碼的問題在於它1)不起作用,並且2)有錯誤。 – Mathletics 2013-02-09 15:56:20

+0

你能解決這個問題嗎? :P – user1599537 2013-02-09 15:59:10

1

你可以通過一個相當簡單的替換來逐個節點地完成這個工作,但是它不能很好地擴展。

鑑於標記:

<p>Peter Rabbit ate all of Potter's pickling cukes.</p> 

如果你想樣式添加到所有在這段文字的字母p的,你可以選擇的段落節點和周圍添加任何p跨度(假設單個段落):

var graf = document.getElementsByTagName('p')[0]; 
graf.innerHTML = graf.innerText.replace(/(p)/gi,'<span class="fancy">$1</span>'); 

也就是說,這隻適用於純文本節點;例如,如果您的p標籤中已有span標籤,則該標籤會被替換所遮蓋。

相關問題