Ребят, только начинаю осваивать JS, помогите. Почему не срабатывает код? (Ошибка: message": "TypeError: spanText.indexOf is not a function")
let spanText = document.getElementById('spanText');
let btn = document.getElementById('btn');
btn.addEventListener('click', function() {
if (spanText.indexOf('@')) {
spanText.style.color = 'red';
}
})
button {
display: block;
margin-top: 10px;
}
<span id='spanText'>Если в тексте есть @ то меняем цвет на красный.</span>
<button id='btn'>OK</button>
Ответы (1 шт):
Автор решения: Grundy
→ Ссылка
spanText
- это HTMLElement
- у него нет метода indexOf
.
Если нужно получить текст из элемента - можно воспользоваться свойством textContent
let spanText = document.getElementById('spanText');
let btn = document.getElementById('btn');
btn.addEventListener('click', function() {
if (spanText.textContent.indexOf('@')) {
spanText.style.color = 'red';
}
})
button {
display: block;
margin-top: 10px;
}
<span id='spanText'>Если в тексте есть @ то меняем цвет на красный.</span>
<button id='btn'>OK</button>