Как работает childNodes
Застрял, и не могу до конца понять, как всё-таки работает childNodes. У меня есть очень простая форма:
<!DOCTYPE HTML>
<html>
<body>
<form name="search">
<label>Search the site:
<input type="text" name="search">
</label>
<input type="submit" value="Search!">
</form>
</body>
</html>
- Сначала запрашиваю весь нодлист бади, в котором форму, можно найти по запросу
document.body.childNodes[1]и тут всё понятно. Но почему по запросуdocument.body.childNodes[1][0]выдаёт инпут? Я ожидал, что это будет пробельный символ "text". В крайнем случае label если text проигнорируется.
Ответы (1 шт):
Автор решения: Ruslan Mart
→ Ссылка
Потому что
document.body.childNodes[1]
вернёт элемент формы
Сама форма представляет из себя псевдоколлекцию, в которой есть ключи на элементы формы (ключ = имя поля), а также ключи в качестве индекс (0 - первый элемент формы, 1 - второй элемент формы и т.д.) https://developer.mozilla.org/ru/docs/Web/API/HTMLFormElement
В Вашем случае, Вы обращаетесь к форме, а затем ко второму полю этой формы.
Если хотите получить текст из label, то Вам нужно написать:
document.body.childNodes[1].childNodes[1].textContent
