Você provavelmente está recebendo votos negativos porque suas perguntas podem ser respondidas em apenas alguns segundos no Google ou lendo os documentos do JQuery.
zombat 21/08/09
53
+1 em amígdalas por enfrentar os usuários de SO. Sua pergunta é perfeitamente válida, independentemente de quão fácil / difícil foi resolver. Mais tráfego para SO para futuras pesquisas sobre esse assunto.
Mr. Smith
7
vamos lá pessoal - o voodoo do jQuery não é tão fácil de aprender para um cara velho como eu, desenvolvedor de servidores que eu estive nos últimos 20 anos - seja legal e seja fácil com os novatos no jQuery! :-) #
2174 marc_s
1
@Boekwurm Ben - ele pode ser corajoso, mas você também não pode culpar os usuários de SO. As pessoas geralmente gostam de ver um pouco de esforço da pessoa que faz a pergunta.
zombat 21/08/09
12
Pelo que me lembro, essa foi a primeira coisa que não entendi sobre o jQuery. Eu acho que é uma pergunta válida se a verdade for dita, e a marcação foi dura. stackoverflow.com/questions/75296/…
... como o primeiro retorna um objeto jQuery, não um objeto DOM.
Para obter o (s) objeto (s) DOM do jQuery, use o seguinte:
$('#selectlist').get();//get all DOM objects in the jQuery collection
$('#selectlist').get(0);//get the DOM object in the jQuery collection at index 0
$('#selectlist')[0];//get the DOM objects in the jQuery collection at index 0
talvez um pouco tangencial aqui, mas isso seria uma ótima informação: existe uma maneira de obter o objeto DOM do jQuery? edit : respondeu minha própria pergunta em edit.
Clayton Hughes
4
Eu bati minha cabeça contra uma parede por uma hora até perceber que getElementById () não pode ser substituído por $ (). Muito obrigado por esta resposta!
Knite
3
@ knite - Sim. Eu gostaria que alguém me explicasse a primeira vez que usei o jQuery.
21412 James Wiseman
1
obrigado pela explicação da parte posterior sobre como obter objetos DOM no jquery :).
kailash19
+1 Oldie, mas um goodie. Eu estava tentando descobrir por que o Google Maps aceitou um objeto DOM, mas não o meu objeto jQuery. Uma rápida pesquisa no Google me levou até aqui, não para documentos do jQuery.
TonyG
9
O caos está no local, embora, para esse tipo de perguntas, você deva consultar a documentação do Jquery on-line - é realmente bastante abrangente. O recurso que você procura é chamado de 'seletores de jquery'
Geralmente você faz $('#ID').val()- o .afterwards pode fazer várias coisas no elemento retornado do seletor. Você também pode selecionar todos os elementos em uma determinada classe e fazer algo com cada um deles. Confira a documentação para alguns bons exemplos.
Para aqueles que se perguntam se os seletores de ID do jQuery são mais lentos que o document.getElementById, a resposta é sim, mas não por causa do preconceito de que ele pesquisa no DOM inteiro procurando por um elemento. O jQuery realmente usa o método nativo. Na verdade, é porque o jQuery usa uma expressão regular primeiro para separar as strings no seletor a serem verificadas e, é claro, executando o construtor:
rquickExpr =/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/
Enquanto o uso de um elemento DOM como argumento retorna imediatamente com 'this'.
Em alguns casos em que não consigo me lembrar por que, mas $('#selectlist').val()nem sempre retorna o valor correto do item, use-o $('#selectlist option:selected').val().
Talvez você possa postar alguns links que confirmam isso. Eu ficaria surpreso no entanto. Isso seria um bug fundamental no jQuery. É possível que você esteja usando uma versão com erros da biblioteca?
21411 James Wiseman
Poderia ter sido James, eu acho que poderia ter sido na 1.3.0, não consigo reproduzir no 1.3.2, mas também poderia ter sido no IE6 ou 7 que eu não tenho mais instalado, vou ver se eu puder descobrir a causa original e denunciá-la aqui.
Respostas:
fonte
"Equivalente" é a palavra aqui
Enquanto...
...é equivalente a...
... vale a pena notar que ...
... embora 'equivalente' não seja o mesmo que ...
... como o primeiro retorna um objeto jQuery, não um objeto DOM.
Para obter o (s) objeto (s) DOM do jQuery, use o seguinte:
fonte
O caos está no local, embora, para esse tipo de perguntas, você deva consultar a documentação do Jquery on-line - é realmente bastante abrangente. O recurso que você procura é chamado de 'seletores de jquery'
Geralmente você faz
$('#ID').val()
- o .afterwards pode fazer várias coisas no elemento retornado do seletor. Você também pode selecionar todos os elementos em uma determinada classe e fazer algo com cada um deles. Confira a documentação para alguns bons exemplos.fonte
Isso pode ser feito de três maneiras diferentes, embora todas sejam quase as mesmas
Maneira Javascript
Jquery way
fonte
Para aqueles que se perguntam se os seletores de ID do jQuery são mais lentos que o document.getElementById, a resposta é sim, mas não por causa do preconceito de que ele pesquisa no DOM inteiro procurando por um elemento. O jQuery realmente usa o método nativo. Na verdade, é porque o jQuery usa uma expressão regular primeiro para separar as strings no seletor a serem verificadas e, é claro, executando o construtor:
Enquanto o uso de um elemento DOM como argumento retorna imediatamente com 'this'.
Então, é isso:
Sempre será mais rápido que isso:
fonte
Em alguns casos em que não consigo me lembrar por que, mas
$('#selectlist').val()
nem sempre retorna o valor correto do item, use-o$('#selectlist option:selected').val()
.fonte