In jQuery, a cosa equivale document.getElementById("selectlist").value
?
Sto cercando di ottenere il valore di un elemento dell'elenco selezionato.
Grazie.
In jQuery, a cosa equivale document.getElementById("selectlist").value
?
Sto cercando di ottenere il valore di un elemento dell'elenco selezionato.
Grazie.
Risposte:
"Equivalente" è la parola qui
Mentre...
$('#selectlist').val();
...è equivalente a...
document.getElementById("selectlist").value
... vale la pena notare che ...
$('#selectlist')
... anche se "equivalente" non è lo stesso di ...
document.getElementById("selectlist")
... poiché il primo restituisce un oggetto jQuery, non un oggetto DOM.
Per ottenere gli oggetti DOM da jQuery, utilizzare quanto segue:
$('#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
Il caos è perfetto, anche se per questo tipo di domande dovresti dare un'occhiata alla documentazione di Jquery online - è davvero abbastanza completa. La funzione che stai cercando si chiama 'selettori jquery'
Generalmente lo fai $('#ID').val()
- il .after successivamente può fare un numero di cose sull'elemento che viene restituito dal selettore. Puoi anche selezionare tutti gli elementi di una determinata classe e fare qualcosa per ciascuno di essi. Consulta la documentazione per alcuni buoni esempi.
Può essere fatto in tre modi diversi, sebbene siano quasi tutti uguali
Modo Javascript
document.getElementById('test').value
Modo Jquery
$("#test").val()
$("#test")[0].value
$("#test").get(0).value
Per coloro che si chiedono se i selettori ID jQuery siano più lenti di document.getElementById, la risposta è sì, ma non a causa del preconcetto che cerca in tutto il DOM alla ricerca di un elemento. jQuery attualmente utilizza il metodo nativo. In realtà è perché jQuery utilizza prima un'espressione regolare per separare le stringhe nel selettore da controllare e, naturalmente, eseguendo il costruttore:
rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/
Considerando che l'utilizzo di un elemento DOM come argomento ritorna immediatamente con 'this'.
Così questo:
$(document.getElementById('blah')).doSomething();
Sarà sempre più veloce di questo:
$('#blah').doSomething();
In alcuni casi di cui non ricordo il perché, ma $('#selectlist').val()
non restituisco sempre il valore dell'articolo corretto, quindi lo uso $('#selectlist option:selected').val()
invece.