<script>
function onKeyDown(e) {
e = e || window.event;
console.log(e);
if (e.keyCode === 13) {
alert(`onkeydown: ${e.keyCode}`);
}
}
</script>
<input type="text" id="answerInput" onkeydown="onKeyDown(event)">
<div>text</div>
<div>text2</div>
// Предположим что elems это NodeCollection преобразованная в массив
const elems = Array.from(document.querySelectorAll('div'));
// Предположим что mass какой-то массив строк.
// Судя по примеру непонятно откуда взялась переменная i, поэтому опустим этот момент
const mass = ['text', 'text2'];
let res; // Здесь будет либо нужный нам DIV, либо undefined
for (let i = 0; i < elems.length; i++) {
const div = elems[i];
if (div.textContent === mass[i]) {
res = div; // Сохраняем найденный DIV
break; // Выходим из цикла
}
}
console.log(res); // DIV или undefined
Как можно решить эту проблему?
Во-первых, откуда вдруг на клиенте должны появиться огромные объёмы данных, которые будут генерировать эти ошибки и затруднять их поиск? Вы собрались логику на клиенте считать? Тогда у нас уже тут принципиальное несовпадение по вопросам "соответствующих инструментов". Клиент в вебе нужен только для представления. Ну ещё какой-то интерактив - формы, события... Всё.
как мартышка ковыряешься с проставлением типов (а иногда это и не особо очевидно), а потом оказывается что какой-нибудь популярный плагин (условный слайдер) в твоей экосистеме - не типизирован. Ручками писать? Потрошить внутренности плагина? Искать аналог?
declare module 'ldapjs-type-parsers';
, где подставить имя пакета, для которого нет типов.// Выносим за пределы функции, чтобы иметь доступ из любой функции
let timeForQuestion;
function timer() {
const checkTimer = document.querySelector("#checkTimer");
function restOfTime() {
if (Number(checkTimer.innerHTML == 0)) {
checkTimer.parentElement.innerHTML = `<span style="color: #a8323e">Время закончилось</span>`
clearTimeout(timeForQuestion)
resultFalse(state);
} else {
checkTimer.innerHTML = checkTimer.innerHTML - 1;
}
}
timeForQuestion = setInterval(restOfTime, 1000)
}
function resultFalse(elem) {
clearInterval(timeForQuestion); // останавливаем интервал
const falseAnswerCount = document.querySelector("#falseAnswerCount");
falseAnswerCount.innerHTML = Number(falseAnswerCount.innerHTML) + 1;
questionWindow.innerHTML = `<span style="color: #C30052">Ты совершил ошибку</span> <br> ${elem.currentAnswer.currentAnswerQuestion}`;
createQuestionBtn.innerHTML = "Учту. Создать новый вопрос";
fullDisableElem(answerButton);
fullEnable(createQuestionBtn);
changeInput("false");
}
<label for="ice-cream-choice">Choose a flavor:</label>
<input list="ice-cream-flavors" id="ice-cream-choice" name="ice-cream-choice">
<datalist id="ice-cream-flavors">
<option value="Chocolate">
<option value="Coconut">
<option value="Mint">
<option value="Strawberry">
<option value="Vanilla">
</datalist>
<details>
<summary>Details</summary>
Something small enough to escape casual notice.
</details>
В папке проекта несколько html-файлов, может быть из-за этого?
Также, не выводится форма в массив NodeList при использовании querySelectorAll('forms')
Подскажите почему выводится undefined?
document.forms[0].name