6 ответов:
"эквивалент" - это слово здесь
пока...
$('#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').valuejQuery в сторону
$("#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