如何使用jQuery - document.getElementById(“selectlist”)。value

时间:2009-08-21 05:05:40

标签: jquery

在jQuery中,等同于document.getElementById("selectlist").value

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

感谢。

6 个答案:

答案 0 :(得分:211)

“等效”是这里的单词

...虽然

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

答案 1 :(得分:147)

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

答案 2 :(得分:9)

混乱现象很明显,但是对于这些问题你应该在网上查看Jquery Documentation - 这真的非常全面。 您所追求的功能称为“jquery选择器”

通常你做$('#ID').val() - .afterwards可以对从选择器返回的元素做很多事情。您还可以选择某个类的所有元素,并对每个元素执行某些操作。查看文档以获取一些很好的示例。

答案 3 :(得分:9)

它可以通过三种不同的方式完成,尽管它们几乎相同

Javascript方式

document.getElementById('test').value

Jquery方式

$("#test").val()          

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

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

答案 4 :(得分:2)

对于那些想知道jQuery id选择器是否比document.getElementById慢的人来说,答案是肯定的,但不是因为它在搜索整个DOM中寻找元素的前提。 jQuery确实使用本机方法。这实际上是因为jQuery首先使用正则表达式来分隔选择器中的字符串以进行检查,当然还要运行构造函数:

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

然后使用DOM元素作为参数立即返回'this'。

所以这个:

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

永远比这更快:

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

答案 5 :(得分:0)

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