09.09.2011

Como verificar se um elemento existe no HTML com jQuery

As vezes usando jQuery (ou qualquer outra biblioteca javascript) precisamos verificar se um certo elemento existe ou não no HTML.

O uso dessa condição é comum quando você tem muitos plugins jQuery que não estão linkados em todas as páginas do seu site, e apenas um arquivo “base.js” com todas as chamadas das funções desses plugins. Nesse caso, o arquivo “base.js” vai dar erro, pois não vai encontrar o link dos plugins em todas as páginas que ele é executado.

Talvez você tenha tentado o óbvio que seria:

if ( $("#minhadiv") ){
  // faça algo
}

Mas o código acima não funciona com jQuery. O correto é usar o seguinte código:

if ( $("#minhadiv").length ){
  // faça algo
}

Com esse if você verifica se um elemento existe na página, e se sim (true), execute um código em especial. Caso o if retorne false, o código dentro dele será ignorado.

14 respostas a "Como verificar se um elemento existe no HTML com jQuery"

  1. luciano disse:

    boa tradução, valeu

  2. Toni disse:

    Obrigado Ruan! Muito útil!

  3. Felipe disse:

    Valeu a dica cara!

  4. Danilo disse:

    Muito bom cara. Obrigado! :D

  5. Gilberto disse:

    Opa estava procurando por isso valeu.

  6. Demetrius disse:

    Só que esse código não funciona para verificar elementos adicionados posteriormente ao documento =/

  7. Marcelo disse:

    Valeu maninho, essa dica foi muito útil e me ajudou. abraço

  8. Thais disse:

    Muito bom! ;)

  9. Básicamente, ele busca o tamanho do elemento. Se for 0 ele não existe e com isso retorna false. Caso contrário, retorna true.

    Belo post! Obrigado :)

  10. Kaique disse:

    Obrigado

  11. Paulo disse:

    Obrigado ;)

    Me ajudou

  12. Luiz disse:

    Ótimo, ajudou aqui. obrigado.

  13. Agradeço pelo post. Quebrou um galho aqui! =D

  14. Muito bom mesmo, resolver uma parada foda aqui no meu sistema. Obrigadão aí mano!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *