Browser pode não suportar getElementById?

Boa tarde,

Gostaria de saber se é possível um browser não conseguir executar o getElementById, pois estou tentando rodar um script em um browser do Windows Mobile 2003 Second Edition e a execução é interrompida justamente na chamada deste método.

Utilizei o script abaixo para fazer uns testes e sempre é levantado o alerta, não passou por nenhuma das opções.

[code]var elemento = null;
if(document.getElementById){
elemento = document.getElementById(nome);

}else if(document.all){
elemento = document.all[nome];

}else if(document.layers){
elemento = document.layers[nome];

}else{
alert(“Seu browser não é capaz de exibir a página.”);
}

elemento;[/code]

Segue abaixo o meu script:

[code]
function pegarElemento(nome) {
var elemento = null;
if(document.getElementById){
elemento = document.getElementById(nome);

      }else if(document.all){
          elemento = document.all[nome];
          
      }else if(document.layers){
          elemento = document.layers[nome];
          
      }else{
          alert("Seu browser não é capaz de exibir a página.");
      }
      
      return elemento;

};

function executarConteudo(chave, parametros) {
var xmlhttp;
if (window.XMLHttpRequest) {// Código para IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();

    } else {// código para IE6, IE5
        try {
            //If the Javascript version is greater than 5.
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
            
        } catch (e) {
            //If not, then use the older active x object.
            try {
                //If we are using MS.
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                
            } catch (E) {
                //Else we must be using a non-IE browser.
                xmlhttp = false;
            }
        }
    }
    
    if (!xmlhttp) {
        throw new Error("Problema na inicialização");
    }

    var paramUrl = [];
    for (var name in parametros) {
        paramUrl.push(name+"="+parametros[name]);
    }

    var urlFinal = chave+"?"+paramUrl.join("&");
    xmlhttp.open("POST", urlFinal, true);
    xmlhttp.onreadystatechange = function pegarEstadoRequisicao() {
        if (xmlhttp.readyState==4 /*Concluído*/) {
            var elemento = pegarElemento("mainframe");
            elemento.innerHTML = xmlhttp.responseText;
        }

        return xmlhttp.readyState;
    }

    xmlhttp.send(paramUrl.join("&"));

};[/code]

Se o erro está gerando a exceção, provavelmente não suporta. Por que razões, não sei.
Agora, veja que você pode acessar o elemento sem ser por DOM.

<html>
<form>
<input type="text" name="teste" id="teste"/>
</form>
</html>

O campo de texto acima pode ser acessado com

document.forms[0].teste

Oi drsMachado,

Preciso acessar uma Div para alterar o conteúdo. Eu tenho como fazer isso diretamente, assim como é feito com o form?

Obrigada pela ajuda.

Oi drsMachado,

Preciso acessar uma Div para alterar o conteúdo. Eu tenho como fazer isso diretamente, assim como é feito com o form?

Obrigada pela ajuda.

[quote=drsmachado]Se o erro está gerando a exceção, provavelmente não suporta. Por que razões, não sei.
Agora, veja que você pode acessar o elemento sem ser por DOM.

&lt;html&gt;
&lt;form&gt;
&lt;input type="text" name="teste" id="teste"/&gt;
&lt;/form&gt;
&lt;/html&gt;

O campo de texto acima pode ser acessado com

document.forms[0].teste [/quote]