s yu Ответов: 1

Получил null для одного из объектов


В моем файле .html я определил 2 объекта следующим образом:
<div id="selectedListTable" class='styleTable2' style="height:220px;width:565px;" />
<div id="loader_" class='loader' style='display:none;' />

В коде js я получил v, но v2 как null
var v = document.getElementById("selectedListTable");
var v2 = document.getElementById("loader_");     // v2 is null

Я не знаю, почему? Я буду признателен, если вы укажете мне на эту причину.

Что я уже пробовал:

Получил null для одного из объектов

Gerry Schmitz

Попробуйте изменить стиль: вы говорите, что элемент "невидим".

s yu

Делал чистку проекта &амп; заново строить. Затем проблема исчезла. Спасибо.

Bryian Tan

Трудно сказать, глядя на 4 строки. Это может быть структура разметки, расположение вызываемого v2 и т. д...

F-ES Sitecore

Убедитесь, что ваш js запущен после того, как элементы были определены, то есть элемент script находится ниже div на странице.

1 Ответов

Рейтинг:
4

W∴ Balboos, GHB

Ваш HTML - код немного запутан:

<div id="selectedListTable" class='styleTable2' style="height:220px;width:565px;"/>
<div id="loader_" class='loader' style='display:none;' />
устарел и, скорее всего, недействителен - и, похоже, не имеет никакого содержания. Если только они не являются целью более поздней операции, они кажутся довольно бессмысленными, за исключением того, что занимают место.
<div id="selectedListTable" class='styleTable2' style="height:220px;width:565px;"></div>
<div id="loader_" class='loader' style='display:none;'></div>
именно так они и должны выглядеть - с содержимым между открывающим и закрывающим элементами

Если, возможно, ваш браузер испытывает проблемы с интерпретацией этого, то он может не иметь двух атрибутов id=" distinct. Закрытие элемента с помощью '/>' больше не является "приемлемым" - хотя и не может быть из-за ошибки, в зависимости от элемента. Например, и <img src=""> просто закрывается без обратной косой черты. Это также верно для элементов <input>, В то время как что-то вроде <div> требует закрытия</div>;

Предполагая, что он не основан на проблеме в другом месте на Вашей странице, поменяйте местами два запроса данных и посмотрите, являются ли вы v2 и v теперь нулевыми.


s yu

Вы правы. Я пересмотрел код, как вы указали, и тогда проблема исчезла. Спасибо.