如何使用jQuery – document.getElementById(“selectlist”)。value
在jQuery中,什么是document.getElementById("selectlist").value
?
我正在尝试获取select列表项的值。
谢谢。
$('#selectlist').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
混乱现象,虽然对于这些问题,你应该检查在线的JQuery文档 – 它确实是相当全面的。 你以后的function叫做“jqueryselect器”
通常你做$('#ID').val()
– 这个.afterwards可以在select器返回的元素上做很多事情。 您也可以select某个class级的所有元素,然后对每个元素进行一些操作。 查看一些很好的例子的文档。
这可以通过三种不同的方式来完成,尽pipe它们几乎是相同的
Javascript方式
document.getElementById('test').value
jquery的方式
$("#test").val() $("#test")[0].value $("#test").get(0).value
对于那些想知道jQuery idselect器是否比document.getElementById慢的问题,答案是肯定的,但不是因为它在整个DOM中寻找元素的先入为主的观念。 jQuery实际上使用本地方法。 这实际上是因为jQuery首先使用正则expression式来分隔select器中的string以检查,当然还要运行构造函数:
rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/
而使用DOM元素作为参数立即返回“this”。
所以这:
$(document.getElementById('blah')).doSomething();
永远比这更快:
$('#blah').doSomething();
在某些情况下,我不记得为什么,但$('#selectlist').val()
不会总是返回正确的项目值,所以我使用$('#selectlist option:selected').val()
代替。