Di jQuery, apa yang setara dengan itu document.getElementById("selectlist").value?
Saya mencoba untuk mendapatkan nilai dari item daftar pilih.
Terima kasih.
Di jQuery, apa yang setara dengan itu document.getElementById("selectlist").value?
Saya mencoba untuk mendapatkan nilai dari item daftar pilih.
Terima kasih.
Jawaban:
"Setara" adalah kata di sini
Sementara...
$('#selectlist').val();
... setara dengan ...
document.getElementById("selectlist").value
... perlu dicatat bahwa ...
$('#selectlist')
... meskipun 'setara' tidak sama dengan ...
document.getElementById("selectlist")
... karena mantan mengembalikan objek jQuery, bukan objek DOM.
Untuk mendapatkan objek DOM dari jQuery, gunakan yang berikut ini:
$('#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
Kekacauan sangat tepat, meskipun untuk pertanyaan-pertanyaan semacam ini Anda harus memeriksa Dokumentasi Jquery online - itu benar-benar sangat komprehensif. Fitur yang Anda cari disebut 'penyeleksi jquery'
Umumnya Anda lakukan $('#ID').val()-. Yang selanjutnya dapat melakukan sejumlah hal pada elemen yang dikembalikan dari pemilih. Anda juga dapat memilih semua elemen pada kelas tertentu dan melakukan sesuatu untuk masing-masingnya. Lihatlah dokumentasi untuk beberapa contoh yang bagus.
Itu dapat dilakukan dengan tiga cara berbeda, meskipun semuanya hampir sama
Cara Javascript
document.getElementById('test').value
Cara jquery
$("#test").val()
$("#test")[0].value
$("#test").get(0).value
Bagi mereka yang bertanya-tanya apakah pemilih jQuery id lebih lambat daripada document.getElementById, jawabannya adalah ya, tetapi bukan karena prasangka bahwa ia menelusuri seluruh DOM mencari elemen. jQuery sebenarnya menggunakan metode asli. Sebenarnya karena jQuery menggunakan ekspresi reguler terlebih dahulu untuk memisahkan string dalam pemilih untuk diperiksa, dan tentu saja menjalankan konstruktor:
rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/
Sedangkan menggunakan elemen DOM sebagai argumen segera kembali dengan 'ini'.
Jadi ini:
$(document.getElementById('blah')).doSomething();
Akan selalu lebih cepat dari ini:
$('#blah').doSomething();
Dalam beberapa kasus yang saya tidak ingat mengapa tetapi $('#selectlist').val()tidak selalu mengembalikan nilai item yang benar, jadi saya gunakan $('#selectlist option:selected').val()sebagai gantinya.