jQueryでは、何に相当しdocument.getElementById("selectlist").value
ますか?
選択リスト項目の値を取得しようとしています。
ありがとう。
jQueryでは、何に相当しdocument.getElementById("selectlist").value
ますか?
選択リスト項目の値を取得しようとしています。
ありがとう。
回答:
「同等」はここの言葉です
その間...
$('#selectlist').val();
...と同等です...
document.getElementById("selectlist").value
...それは注目に値する...
$('#selectlist')
...「同等」は同じではありませんが...
document.getElementById("selectlist")
...前者はDOMオブジェクトではなくjQueryオブジェクトを返すため。
jQueryオブジェクトからDOMオブジェクトを取得するには、以下を使用します。
$('#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
カオスは問題になっていますが、これらの種類の質問については、Jqueryドキュメントをオンラインで確認する必要があります。あなたが追いかけている機能は「jqueryセレクター」と呼ばれます
一般的にあなたはそうします$('#ID').val()
-.afterwardsはセレクターから返される要素に対して多くのことを行うことができます。また、特定のクラスのすべての要素を選択して、それぞれに対して何かを行うこともできます。いくつかの良い例についてはドキュメントをチェックしてください。
それは3つの異なる方法で行うことができますが、それらはすべてほぼ同じです
JavaScriptの方法
document.getElementById('test').value
jqueryの方法
$("#test").val()
$("#test")[0].value
$("#test").get(0).value
jQuery IDセレクターがdocument.getElementByIdより遅いのではないかと疑問に思っている方は、答えは「はい」ですが、DOM全体を検索して要素を探すという先入観のためではありません。jQueryは実際にはネイティブメソッドを使用します。これは、jQueryが最初に正規表現を使用してセレクター内の文字列を分離し、チェックするためです。もちろん、コンストラクターを実行するためです。
rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/
一方、引数としてDOM要素を使用すると、「this」がすぐに返されます。
したがって、この:
$(document.getElementById('blah')).doSomething();
常にこれよりも高速になります:
$('#blah').doSomething();
理由を思い出せないが、$('#selectlist').val()
常に正しい項目値を返さない場合があるので、$('#selectlist option:selected').val()
代わりに使用します。