Помогите исправить проблему некорректного поиска
Пытаюсь сделать выделение текста при помощи библиотеки "https://github.com/mburakerman/hrjs". Проблема заключается в том, что при вводе в поиск к примеру число "2" то это ломает страницу (Я получаю вместо How are you - '2 class="">How are you'). Не могу понять почему и как это исправить. вот код:
let sr = document.getElementById('search');
let btn = document.getElementById('btn');
let clear = document.getElementById("clear");
let highlightColor = 'orange';
let backgroundColor = 'yellow';
btn.addEventListener('click', function() {
let result = sr.value.trim();
let hr = new HR(".mytext", {
highlight: result ? result : null,
backgroundColor: result ? highlightColor : backgroundColor
});
hr.hr();
});
sr.addEventListener('keypress', function(event) {
if (event.keyCode === 13) {
event.preventDefault();
btn.click();
}
});
clear.addEventListener('click', function() {
document.querySelectorAll(".mytext span").forEach(function(element) {
element.outerHTML = element.innerHTML;
});
sr.value = '';
});
<script src="https://unpkg.com/hrjs"></script>
<input type="search" name="" id="search">
<button id="btn">write</button>
<button id="clear">clear</button>
<div class="mytext">
<p class="">hello world</p>
<h2 class="">How are you</h2>
<ul>
<li>1</li>
<li>2</li>
</ul>
</div>
Источник: Stack Overflow на русском