簡體   English   中英

如何更改html文本任意部分的樣式

[英]How to change style of a arbitrary part of html text

我想在任意位置以任意長度更改部分文字的樣式。 例如,我在HTML中有這個

<span id="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit.<span>

給定變量startlength ,它可能是我不知道的任何有效值,我應該更改特定文本的顏色。

我該如何完成這項任務?

嘗試以下代碼。 它應該工作:

 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style> .Inlinetext{ color:red;} </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script> function ChangeTextColour(start,end){ var startingHtml = "<span class='Inlinetext'>"; var endingHtml="</span>"; var middleHtml=$("#Inlinetext").html().substring(start, end); $("#Inlinetext").html($("#Inlinetext").html().substring(0, start)+startingHtml+middleHtml+endingHtml+$("#Inlinetext").html().substring(end)); } </script> </head> <body onload="ChangeTextColour(3,100)"> <span id="Inlinetext">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span> </body> </html> 

您只需要提及字符串的開始和結束位置,這將更改樣式表。 如果您希望使用多個樣式表,請在CSS標記中使用。

找到您要匹配的字符串,然后用跨度包裝器替換它並突出顯示它。

http://bartaz.github.io/sandbox.js/jquery.highlight.html,這是示例插件

這是您所需的簡單javascript實現。 https://jsfiddle.net/ewgsyn10/

如果您想將CSS應用於該特定部分,則可以使用<span class="your-css-class">代替<b>並且類似地將其作為結束標記。

您將在該范圍內動態插入另一個范圍。 我已經用javascript編寫了以下代碼來執行相同的操作。 希望對您有幫助。

 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style> .text{ color:red;} </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script> function ChangeColor(start,end){ var newStartHtml = "<span class='text'>"; var newEndHtml="</span>"; var midHtml=$("#text").html().substring(start, end); $("#text").html($("#text").html().substring(0, start)+newStartHtml+midHtml+newEndHtml+$("#text").html().substring(end)); } </script> </head> <body onload="ChangeColor(3,15)"> <span id="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span> </body> </html> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM