这听起来像是一个非常基本的问题。假设我有以下表单元素
<select id="mySelect">
...
使用jQuery,假设我想通过ID获取它,这样我就可以直接访问其中一个属性,如selectedIndex。
我不认为我可以使用
var selectedIndex = $("#mySelect").selectedIndex;
因为#选择器返回一个元素数组。如果我希望实际访问select DOM元素,那么我必须调用
var selectedIndex = $("#mySelect").get(0).selectedIndex;
这是正确的吗?是否有一个选择器让我直接进入DOM元素而不必进行“额外调用”来获取(0)?
我问,因为我来自原型,我可以说:
var selectedIndex = $('mySelect').selectedIndex;
答案 0 :(得分:3)
有jQuery方法可以获取<select>
的值,而不需要您访问实际的DOM元素。特别是,您只需执行此操作即可获取当前所选选项的值:
$('#mySelect').val();
但是,有时候,您确实想要出于某种原因访问特定的DOM属性。
虽然您提供的.get(0)
语法是正确的,但也可以不使用函数调用:
$("#mySelect")[0].selectedIndex;
jQuery集合表现为类似于数组的对象,并通过它公开实际的DOM元素。
答案 1 :(得分:1)
$("#mySelect").val()
可以解决问题。
答案 2 :(得分:0)
$("#mySelect option:selected").val()