У меня есть такой HTML-документ
<html>
<head></head>
<body>
<div id = "test_id"> First element </div>
<div> Second element </div>
</body>
</html>
Я могу получить доступ к первому элементу div через getElementById, но могу ли я каким-то образом получить доступ ко второму элементу?
Конкретные селекторы, которые вам нужны, почти наверняка изменятся, если в документе больше этих двух узлов - getElementByTagName("div")[1] будет работать только в том случае, если нужный вам div является вторым в документе; использование nextSibling будет работать только в том случае, если он сразу следует за #test_id и т. д. Если вы не можете присвоить идентификатор или имя класса искомому элементу, вам нужно будет найти ориентир в существующем документе, который, как вы можете гарантировать, выиграл не меняются относительно div, который вы пытаетесь выбрать, и основывайте свой селектор на этом.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


document.getElementsByTagName("div") возвращает все div в объект HTMLCollection, первый div - это 0, второй div - это 1:
var second = document.getElementsByTagName("div")[1]
console.info(second.innerHTML)<html>
<head></head>
<body>
<div id = "test_id"> First element </div>
<div> Second element </div>
</body>
</html>Ответы только на код обычно можно улучшить, добавив пояснения. Те, которые объясняют, почему ответ работает, даже лучше, потому что они помогают людям понять ответ таким образом, чтобы они могли избежать проблемы в будущем.
Вы можете использовать Document.querySelectorAll() с конкретный индекс следующим образом:
var secondDiv = document.querySelectorAll('div')[1];
console.info(secondDiv);<html>
<head></head>
<body>
<div id = "test_id"> First element </div>
<div> Second element </div>
</body>
</html>НУ НАКОНЕЦ ТО! Кто-то другой, кто действительно думает, что использование селектора запросов - лучший метод!
Конечно, если HTML изменится, то этот код сломается. Поэтому в первую очередь у нас есть id.
Ты можешь попробовать :
var x = document.getElementById("test_id").nextSibling
Способ 1: получить родительский элемент, затем подсчитать до желаемого элемента, а затем прочитать по его имени,
document.getElementById("test_id").parentElement.getElementByTagName("div")[0].innerHTML;
Способ 2: прямой подсчет в div, как упоминалось, но в некоторых случаях он не работает
document.getElementByTagName("div")[1]
var allDivs = document.querySelectorAll("div");или вы можете попробовать ...document.querySelectorAll("div[id='']");, вы поняли.