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')
Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top