Всё просто: элемент появляется на странице уже после того как отработал скрипт.
Простой вариант - подождать появления:
function main(element){
//код скрипта делающий что-то с элементом
}
(function wait(){
var element = document.querySelector('#id');
if(element) //если элемент найден
return main(element); //вызываем функцию main
setTimeout(wait, 100); //иначе ждём ещё 100ms
}());
Сложный - вмешаться в работу функции приводящей к появлению этого элемента.