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