2015-02-10 2 views
-3

Могу ли я добавить стиль в часть текста из значения <input> или <span>?Добавить стиль в часть текста

У меня есть некоторые данные, такие как:

{text text} an other text... 

И я буду применять стиль текста между {}.

Мои данные: <span>{RFS.KIS.ZWO} JJD000090085077412015021014193191</span>

+1

только если часть текста, который вы хотите, обернута в элемент – LcSalazar

+0

Это то, что идеально подходит для тега ' ..'. Невозможно добавить теги? – Blazemonger

ответ

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, но для Input это сложно. !! –

+0

Да. Вы не можете создавать элементы ввода, но если вы решите использовать 'contenteditable' http://www.w3schools.com/tags/att_global_contenteditable.asp или IFrame с помощью' designmode' http://jsfiddle.net/zarjay/G3SjX/, вы могут применять стили. –

1

Я не вижу Js часть здесь.

Если я правильно понял, вы хотите стили CSS на части текста. Для этого вы можете поместить этот текст в тег html и добавить к нему класс CSS с нужным стилем. (измененное форматирование)

например. HTML

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

CSS

.myStyle { 
    color: red; 
} 
+0

Мои данные: {RFS.KIS.ZWO} JJD000090085077412015021014193191 текст из базы данных. –

+0

Это уточняет ваш вопрос. Таким образом, вы не можете вручную изменять html. Предлагаемый фрагмент JS в другом ответе, похоже, делает трюк, если вы хотите стилизовать текст в фигурных скобках. –

-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

+0

Спасибо - я отредактирую его в соответствии с этим –

Смежные вопросы