JavaScript

Как с помощью js придать в тексте конкретной букве или знаку стили

не вводя их в теги контейнеры и тд!! например... привет здравствуй, что бы получилось примени к букве "в" во всех словах размер 20px или другой стиль приВет здраВстВуй Только не спрашивайте зачем мне это... мне для экспериментов грубо говоря как в ксс first-letter только на js и конкретной букве - символу
Можно один раз пройтись по строке, и тупо всё подменить через replace...

https://jsfiddle.net/OPTlMUS/0k4yqmsz/ — подсвечивание прямо во время печати.
ИБ
Иван Богданец
62 360
Лучший ответ
Без контейнеров не получится
<span id="span">привет здравствуйте</span>
<script type="text/javascript">
var span1 = span.innerHTML;
var span2 = span1.split("");
var a = '<span style = "font-size : 20px">';
var b = '</span>';
for (var i = 0; i < span2.length; i++) {
if (span2[i] == 'в') {
span2.splice(i, 0, a);
span2.splice(i+2, 0, b);
i++;
}
};
span.innerHTML = span2.join('')
</script>
Сергей Пацера
Сергей Пацера
55 508
Есть вопросы, которые подрывают веру в будущее человечества. Это один из таких.
такие вещи делаются не на JS чтобы к конкретной букве задать свой стиль, применяй элемент span и дай ему определенный класс, и этому классу уже задавай стили. Я не спорю что на JS такое нельзя сделать, его можно сделать, обращаясь к строке как элементам массива, но лучше такие простые вещи делать на CSS и HTML.
Rinat Murtazin
Rinat Murtazin
2 396
Кенжебулат Кажмуратов можно. примеры видел, но конкретно что мне надо нет, видел что можно буквы в предложении менять 3-4 или скок хочешь в конце или вначале... значит можно и букву..
а вот на css я знаю, но тут надо именно так
может на php как то...
В браузерном JS у строк есть специальные методы .fontcolor(), .fontsize(), .italics() и прочие. То есть можно вырезать часть строки и применять к ней необходимый метод.
https://www.tutorialspoint.com/javascript/javascript_strings_object.htm
Только по факту они возвращают этот текст, обёрнутый в соответствующий тег. Сам js не имеет понятия стилей как такового, так как не занимается отрисовкой, ей занимается среда исполнения. В браузере за это отвечает HTML разметка, и в ней нет возможности применять стили без оборачивания в отдельный элемент.
Выше указанными методами я бы пользоваться не рекомендовал, так как такие подходы тяжело и непривычно воспринимаются. Лучше явно заворачивать в необходимые элементы через document.createElement. В крайнем случае можно текстом с разметкой через innerHTML, как написал выше Молот Шотландцев, это не очень рекомендуется, но для простого решения подойдёт.
Сергей Крупко
Сергей Крупко
1 415