Как это сделать, используя jQuery - document.getElementById( "selectlist" ). Значение

В jQuery, что эквивалентно document.getElementById("selectlist").value?

Я пытаюсь получить значение элемента списка выбора.

Спасибо.

Ответ 1

$('#selectlist').val();

Ответ 2

"Эквивалент" - это слово здесь

В то время как...

$('#selectlist').val();

... эквивалентно...

document.getElementById("selectlist").value

... стоит отметить, что...

$('#selectlist')

... хотя "эквивалент" не совпадает с...

document.getElementById("selectlist")

... поскольку первый возвращает объект jQuery, а не объект DOM.

Чтобы получить объекты DOM из jQuery, используйте следующее:

$('#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

Ответ 3

Chaos находится на месте, хотя для такого рода вопросов вы должны проверить Jquery Documentation в Интернете - это действительно достаточно полно. Функция, которой вы пользуетесь, называется "селекторы jquery"

Как правило, вы выполняете $('#ID').val() -.Afterwards может выполнять некоторые действия над элементом, который возвращается из селектора. Вы также можете выбрать все элементы определенного класса и сделать что-то для каждого из них. Ознакомьтесь с документацией для некоторых хороших примеров.

Ответ 4

Это можно сделать тремя разными способами, хотя все они почти одинаковы

Способ Javascript

document.getElementById('test').value

Способ JQuery

$("#test").val()          

$("#test")[0].value             

$("#test").get(0).value

Ответ 5

Для тех, кто задается вопросом, медленнее ли jQuery-идентификаторы, чем document.getElementById, ответ да, но не из-за предвзятого представления, которое он ищет во всей DOM, ищущей элемент. jQuery действительно использует собственный метод. Это на самом деле потому, что jQuery сначала использует регулярное выражение, чтобы выделить строки в селекторе для проверки и, конечно же, запустить конструктор:

rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/

В то время как использование элемента DOM в качестве аргумента немедленно возвращается с помощью 'this'.

Итак, это:

$(document.getElementById('blah')).doSomething();

Всегда будет быстрее, чем это:

$('#blah').doSomething();

Ответ 6

В некоторых случаях я не могу вспомнить, почему, но $('#selectlist').val() не всегда возвращает правильное значение элемента, поэтому вместо этого я использую $('#selectlist option:selected').val().