JQuery'de eşdeğer document.getElementById("selectlist").valuenedir?
Seçme listesi öğesinin değerini almaya çalışıyorum.
Teşekkürler.
JQuery'de eşdeğer document.getElementById("selectlist").valuenedir?
Seçme listesi öğesinin değerini almaya çalışıyorum.
Teşekkürler.
Yanıtlar:
"Eşdeğer" buradaki kelimedir
Süre...
$('#selectlist').val();
... eşittir ...
document.getElementById("selectlist").value
... kayda değer ...
$('#selectlist')
... 'eşdeğer' ile aynı olmamasına rağmen ...
document.getElementById("selectlist")
... birincisi DOM nesnesi değil, bir jQuery nesnesi döndürür.
DOM nesnelerini jQuery olanından almak için aşağıdakileri kullanın:
$('#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
Bu tür sorular için Jquery Belgelerini çevrimiçi olarak kontrol etmelisiniz, ancak gerçekten oldukça kapsamlı. Arkanızdaki özelliğe 'jquery selectors' denir
Genellikle yaparsınız $('#ID').val()- .sonerden sonra seçiciden döndürülen öğe üzerinde birkaç şey yapabilirsiniz. Ayrıca belirli bir sınıftaki tüm öğeleri seçebilir ve her birine bir şeyler yapabilirsiniz. Bazı iyi örnekler için belgelere bakın.
Üç farklı yolla yapılabilir, ancak hepsi neredeyse aynıdır
Javascript yolu
document.getElementById('test').value
Jquery yolu
$("#test").val()
$("#test")[0].value
$("#test").get(0).value
JQuery id seçicilerinin document.getElementById'den daha yavaş olup olmadığını merak edenler için, cevap evettir, ancak bir öğeyi arayan tüm DOM'da arama yaptığı önyargısı nedeniyle değil. jQuery aslında yerel yöntemi kullanır. Aslında jQuery önce kontrol etmek için seçicideki dizeleri ayırmak ve elbette yapıcıyı çalıştırmak için normal bir ifade kullanır:
rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/
Oysa bir DOM öğesini bağımsız değişken olarak kullanmak hemen 'this' ile döner.
Yani bu:
$(document.getElementById('blah')).doSomething();
Her zaman bundan daha hızlı olacaktır:
$('#blah').doSomething();
Bazı durumlarda neden hatırlayamıyorum ama $('#selectlist').val()her zaman doğru ürün değerini döndürmeyeceğim, $('#selectlist option:selected').val()bunun yerine kullanıyorum.