Найти определенный отрывок заключить в span

242
03 июля 2017, 20:38

Мне нужно выделить отрывок текста с помощью javascript. Как на картинке

Answer 1

var str_text = 'вопрос', 
    obj_elem = document.querySelector('#elem'); 
     
var RegExp = new RegExp(str_text, 'g'); 
     
obj_elem.innerHTML = obj_elem.innerHTML.replace( RegExp, '<span class="select">' + str_text + '</span>' );
body { 
  font-family: arial; 
} 
 
.color { 
  color: #00a1ff; 
} 
 
.select { 
  background-color: yellow;  
  color: black;  
  font-weight: 700; 
}
<span id="elem"><b>Ответить на собственный вопрос</b> - <span class="color">делитесь знаниями в стиле вопросов и ответов</span>.</span>

Answer 2

https://codepen.io/anon/pen/OgvEdv

<div id="text">Lorem ipsum — название классического текста-«рыбы». «Рыба» — слово из жаргона дизайнеров, обозначает условный, зачастую бессмысленный текст, вставляемый в макет страницы. Lorem ipsum представляет собой искажённый отрывок из философского трактата Цицерона «О пределах добра и зла», написанного в 45 году до нашей эры на латинском языке. Впервые этот текст был применен для набора шрифтовых образцов неизвестным печатником в XVI веке.
</div>
<p><a href="#" onclick="clear(); findText()">Найти строку</a></p>

var textOriginal = "", textDiv = null;
function findText(){
    var string = prompt("Введите символ для поиска", ""), text = "";
    if(string === undefined || string === null || string === "") return;
    var arr = textOriginal.split(string), i = 0, len = arr.length - 1;
    for(; i < len; i++){
        text += arr[i];
        text += "<span style='color:red; font-weight:bold'>" + string + "</span>";
    }
    text += arr[i];
    textDiv.innerHTML = text; 
}
function clear() {
    textDiv.innerHTML = textOriginal;
}
window.onload = function() {
    textDiv = document.getElementById("text");
    textOriginal = textDiv.innerHTML;
}
READ ALSO
Как выполнить все методы, имена которых указаны в массиве?

Как выполнить все методы, имена которых указаны в массиве?

Есть массив с названиями методовВ конструкторе класса нужно запустить все эти методы по их именам

262
Загрузка в браузере Chrome файла json - Node.js

Загрузка в браузере Chrome файла json - Node.js

ЗдравствуйтеДошел в учебнике по js до node

378
Проблема с бесконечным циклом (JS)

Проблема с бесконечным циклом (JS)

Добрый вечерПодскажите, пожалуйста, я новичок и пытаюсь написать алгоритм преобразования арабских чисел в римские

236