2015-02-10 19 views
-3

我可以將樣式添加到<input>值或<span>的部分文本中嗎?將樣式添加到文本的一部分

我有一些數據,如:

{text text} an other text... 

我會申請樣式{}之間的文本。

我的數據是:<span>{RFS.KIS.ZWO} JJD000090085077412015021014193191</span>

+1

只有如果你想要的部分文字包裹在一個元素中 – LcSalazar 2015-02-10 15:24:00

+0

這是' ..'標籤的理想選擇。是不是可以添加標籤? – Blazemonger 2015-02-10 15:29:35

回答

0

對於SPAN

$(function() { 
 
    var text = $("span").text(); 
 
    var replaced = text.replace(/\{(.*)\}/, function($0, $1) { 
 

 
     return "{<span style='color: red;'>".concat($1, "</span>}"); 
 

 
    }); 
 
    $("span").html(replaced); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span>Text: {something}</span>

+0

非常感謝編輯它。它對SPAN非常有用,但對於輸入它很複雜。 ! – 2015-02-13 10:11:09

+0

是的。您不能設計部分輸入,但如果您決定使用'contenteditable' http://www.w3schools.com/tags/att_global_contenteditable.asp或IFrame與'designmode' http://jsfiddle.net/zarjay/G3SjX/可以應用樣式。 – 2015-02-13 10:30:24

1

我實在不明白這裏的JS部分。

如果我理解正確,您希望CSS文本的一部分樣式。要做到這一點,你可以把這個文本放在一個html標籤中,並添加一個CSS類,並在其中添加所需的樣式。 (改變格式)

例如 HTML

<span class="myStyle">text text </span> more text. 

CSS

.myStyle { 
    color: red; 
} 
+0

我的數據是: {RFS.KIS.ZWO} JJD000090085077412015021014193191該文本來自數據庫。 – 2015-02-10 15:32:10

+0

這說明你的問題。所以你不能手動修改html。如果你想在大括號中設置文本的樣式,那麼在另一個答案中建議的JS片段似乎有訣竅。 – 2015-02-10 15:55:14

-1

包裝你的文本標籤,而不是 「{」 「}」 calsses:

<span class="mytag">text text</span> text text 

不是你可以風格seperatly類

<style> 
.mytag { 
    color: blue; 
} 
</style> 

個或標籤,例如(不工作的所有瀏覽器):

<mytag>text text</mytag> text text 

不是你可以風格的標籤seperatly

<style> 
mytag { 
    color: blue; 
} 
</style> 
+0

較舊的IE瀏覽器不會自動識別新標籤,並且不斷創建新標籤是一種壞習慣。其他開發人員不知道這是什麼意思,一開始。沒有理由不使用' ...'而不是。 – Blazemonger 2015-02-10 15:30:41

+0

謝謝 - 我會根據這 – 2015-02-10 15:31:09