Не удается прочитать поля списка узлов, полученные из документов.getElementsByName

#javascript #reactjs #dom

#javascript #reactjs #dom

Вопрос:

У меня странная проблема со списком узлов. Я могу распечатать объект списка узлов на консоли и показать, что он имеет длину 1. Однако, если я попытался получить какие-либо элементы из списка узлов с помощью .item(0) или [0], в итоге либо null, либо undefined. Я проверил документы списка узлов и уверен, что правильно читаю элемент. Кто-нибудь может объяснить, почему?

Я кодирую под React, но я думаю, что это должно быть чисто проблемой JavaScript. Вот проблема, которую я воссоздал в code sandbox:https://codesandbox.io/s/jovial-lichterman-u0mfz?file=/src/App.js Это немного запутанно, но вы можете видеть в верхней части консоли, что печатается только список узлов, но узел из списка равен нулю.

введите описание изображения здесь

введите описание изображения здесь

Цель состоит в том, чтобы получить значение элемента DOM по ссылке на имя.

введите описание изображения здесь

Ответ №1:

Вы можете сделать просто

Например:

 document.getElementsByTagName('p')[0].style
  

В вашем случае:

 document.getElementsByName('form_type')[0].style
  

Комментарии:

1. Это то, что, как я думал, должно сработать, но я получил ‘Не удается прочитать свойство’ в стиле ‘неопределенный’.

2. Не уверен, что вы делаете неправильно. Я попробовал codepen, похоже, у меня все работает нормально: codepen.io/acool9531/pen/bGpqjLR

3. codesandbox.io/s/jovial-lichterman-u0mfz?file=/src/App.js Вот CodeSandbox. Это немного запутанно, так как мне нужно удалить весь раздел из большого проекта. Но вы можете видеть, что я могу распечатать только список узлов, но не узел из списка узлов в верхней части консоли