Как поставить фокус на id который постоянно меняется? 
		
		
		
		Добавляю в форму поля input с помощью такой конструкции: 
	
function addField() {
let i = document.querySelectorAll('[name="answers"]').length;
document.getElementById("choice").insertAdjacentHTML('beforeEnd', '<input id="answers['+i+']" type="text" name="answers" value="">');
document.getElementById(answers[i]).focus; // - НЕ работает
}
</script>
В результате получается такой HTML. Это работает. <input name="answers" id="answers[0]" type="text" value=""> <input name="answers" id="answers[1]" type="text" value=""> <input name="answers" id="answers[2]" type="text" value=""> ... <input name="answers" id="answers[100500]" type="text" value=""> Поля добавляются, но фокус на них не ставится. Что то делаю не так. Пробовал и с разными кавычками - не помогло. Как правильно указать идентификатор для нового поля, чтобы оно оказалось в фокусе?  | 
	
		
 Цитата: 
	
  | 
	
		
 Не понимаю. Как дописать? Скрипт ведь не знает, сколько раз нажмет "добавить" пользователь. Там любая цифра может быть. А конструкцию answers[i] javascript не обрабатывает. В Гугле тоже не нашел примеров с конструкциями типа [i]. 
	 | 
	
		
 Попробовал так: 
	document.getElementById(answers[answers.length - 1]).focus(); Тоже не работает.  | 
	
		
 javascript_pupil, 
	
<!DOCTYPE HTML>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <script>
        function addField() {
            let i = document.querySelectorAll('[name="answers"]').length;
            document.getElementById("choice").insertAdjacentHTML('beforeEnd', '<input id="answers[' + i + ']" type="text" name="answers" value="">');
            document.getElementById(`answers[${i}]`).focus();
        }
    </script>
    </script>
</head>
<body>
    <div id="choice"></div>
    <button type="button" onclick="addField()">add</button>
</body>
</html>
 | 
	
		
 Получилось, Большое спасибо! :)  
	Вопросик: а почему эта конструкция не работает в IE 11? Мне реально интересно. Не так давно столкнулся с тем, что мои старые javascript не работают в новых браузерах. Оказалось, что у M$ были свои (нестандартные) теги, после замены которых скрипты стали работать и в старом IE 11 и в новых браузерах тоже.  | 
	
		
 И еще вопрос вот к этому фрагменту: [${i}] 
	Ок, внутри квадратных скобок индекс нужного нам элемента массива. А что означает ${i}? Откуда там хеш?  | 
	
		
 Цитата: 
	
 Цитата: 
	
 Цитата: 
	
 
document.getElementById("answers[" + i +"]").focus();
 | 
	
		
 Большое спасибо! Стало более-менее понятно. А второй вариант работает и в IE и в Хроме. :) 
	 | 
| Часовой пояс GMT +3, время: 16:37. |