Попробуйте поместить document.getElementById
в setTimeout()
Например.
setTimeout(function(){
console.log(document.getElementById('whatever'));
}, 100);
Если это сработает, тогда это просто проблема синхронизации.
Так называемые обычные арифметические преобразования применимы ко многим двоичным операторам, но не ко всем. Например, они не применяются к операторам сдвига битов, & amp ;, ||, операторам запятой и операторам присваивания. Это правило для операторов сдвига битов:
6.5.7 ... 3 Семантика ...
Целочисленные продвижения выполняются на каждом из операндов. Тип результата - тип повышенного левого операнда. Если значение правого операнда отрицательно или больше или равно ширине повышенного левого операнда, поведение не определено.