如何使用 jQuery-document.getElementById (“ selectlist”) . value 实现这一点

在 jQuery 中,什么等价于 document.getElementById("selectlist").value

我正在尝试获取一个选择列表项的值。

谢谢。

185304 次浏览
$('#selectlist').val();

混乱是正确的,虽然这些类型的问题,你应该检查的 Jquery 文档在线-它真的是相当全面。 你想要的特性叫做“ jquery 选择器”

一般你做 $('#ID').val()-the。可以对从选择器返回的元素执行许多操作。您还可以选择某个类上的所有元素,并对其中的每个元素执行一些操作。查看文档以获得一些好的示例。

在某些情况下,我不记得为什么但是 $('#selectlist').val()不会总是返回正确的项值,所以我使用 $('#selectlist option:selected').val()代替。

“等价”是这里的词

而..。

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

相当于。

document.getElementById("selectlist").value

... 值得注意的是..。

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