Как это сделать с помощью jQuery-документа.getElementById ("selectlist").значение



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



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



спасибо.

449   6  

6 ответов:

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

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

пока...

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

хаос находится на месте, хотя для таких вопросов вы должны проверить Документация Jquery онлайн - это действительно комплексная. Функция, которую вы ищете, называется "селекторы jquery"

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

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

Javascript way

document.getElementById('test').value

jQuery в сторону

$("#test").val()          

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

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

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

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

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

значит так:

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

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

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

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

Comments

    Ничего не найдено.