在 jQuery 中,什么等价于 document.getElementById("selectlist").value?
document.getElementById("selectlist").value
我正在尝试获取一个选择列表项的值。
谢谢。
$('#selectlist').val();
混乱是正确的,虽然这些类型的问题,你应该检查的 Jquery 文档在线-它真的是相当全面。 你想要的特性叫做“ jquery 选择器”
一般你做 $('#ID').val()-the。可以对从选择器返回的元素执行许多操作。您还可以选择某个类上的所有元素,并对其中的每个元素执行一些操作。查看文档以获得一些好的示例。
$('#ID').val()
在某些情况下,我不记得为什么但是 $('#selectlist').val()不会总是返回正确的项值,所以我使用 $('#selectlist option:selected').val()代替。
$('#selectlist').val()
$('#selectlist option:selected').val()
“等价”是这里的词
而..。
相当于。
... 值得注意的是..。
$('#selectlist')
虽然“等价”不等于..。
document.getElementById("selectlist")
... 因为前者返回的是 jQuery 对象,而不是 DOM 对象。
要从 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
它可以通过三种不同的方式来完成,尽管它们几乎都是一样的
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();