Obtendo o elemento base de um objeto jQuery
-
09-06-2019 - |
Pergunta
Estou lutando para encontrar a terminologia correta aqui, mas se você tiver o objeto jQuery...
$('#MyObject')
...é possível extrair o elemento base?Ou seja, o equivalente a isto:
document.getElementById('MyObject')
Solução
Sim, use .get(index)
.De acordo com documentação:
O
.get()
O método concede acesso aos nós DOM subjacentes a cada objeto jQuery.
Outras dicas
$('#MyObject').get(0);
Acho que é isso que você quer.Acho que você também pode referenciá-lo como um array normal com:
$('#MyObject')[0];
Mas não tenho certeza se isso sempre funcionará.Fique com a primeira sintaxe.
Um objeto jQuery é um conjunto de elementos.No seu caso, um conjunto de um elemento.Isso difere de algumas outras bibliotecas, que agrupam elementos únicos e fornecem sintaxe alternativa para seletores que retornam múltiplas correspondências.
Arão W. e VolkerK já explicou como acessar o primeiro elemento (índice 0) do conjunto.
Testei as declarações de Aaron em todos os navegadores disponíveis em minha caixa:
$('#MyObject').get(0);
contra
$('#MyObject')[0];
Pelo que posso dizer, é apenas uma questão de preferência pessoal.
Funcionalmente, ambas as declarações são equivalentes para elementos existentes e inexistentes.Testei os seguintes navegadores:Cromo 27.0, FF 21.0, IE10, IE9, IE8, IE7, IE6.
Nos testes de velocidade que fiz nem sempre foi possível dizer qual variação era mais rápida;o resultado nem sempre foi consistente, mesmo no mesmo navegador.Para os testes de velocidade, testei apenas elementos existentes.Os resultados do meu teste são aqui.