Obtenha JavaScript Element by Id e defina o valor

Eu tenho uma função javascript à qual eu passo um parâmetro. O parâmetro representa o id de um elemento (um campo oculto) na minha página da web. Eu quero mudar o valor deste elemento.

function myFunc(variable){
  var s= document.getElementById(variable);
  s.value = 'New value'
}

Quando faço isso, recebo um erro de que o valor não pode ser definido porque o objeto é nulo. Mas eu sei que o objeto não é nulo porque eu o vejo no código html gerado pelo navegador. De qualquer forma, eu tentei o seguinte código para depurar

function myFunc(variable){
  var x = variable;
  var y  = 'This-is-the-real-id'
  alert(x + ', ' + y)
  var s= document.getElementById(x);
  s.value = 'New value'
}

Quando a mensagem de alerta aparece, ambos os parâmetros são os mesmos, mas ainda recebo o erro. Mas tudo funciona bem quando eu faço

  var s= document.getElementById('This-is-the-real-id');
  s.value = 'New value'

Como posso consertar isso, por favor

EDITAR

O elemento para o qual eu estou configurando o valor é um campo oculto e o id é detectado dinamicamente, conforme a página é carregada. Eu tentei adicionar isso na função $ (document) .ready mas não funcionou

questionAnswers(5)

yourAnswerToTheQuestion