0

这听起来像是一个非常基本的问题。假设我有以下 Form 元素

<select id="mySelect"> 

...

使用 jQuery,假设我想通过 ID 获取它,这样我就可以直接访问它的属性之一,比如 selectedIndex。

不认为我可以使用

var selectedIndex = $("#mySelect").selectedIndex;

因为 # 选择器返回一个元素数组。如果我希望实际访问 select DOM 元素,那么我必须调用

var selectedIndex = $("#mySelect").get(0).selectedIndex;

它是否正确? 是否有一个选择器可以让我直接访问 DOM 元素,而无需对 get(0) 进行“额外调用”?

我问是因为我来自原型,我可以说:

var selectedIndex = $('mySelect').selectedIndex;
4

3 回答 3

3

有一些 jQuery 方法可以获取<select>不需要访问实际 DOM 元素的值。特别是,您可以简单地执行此操作来获取当前选定选项的值:

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

但是,有时您确实想访问特定的 DOM 属性,无论出于何种原因。

虽然.get(0)您提供的语法是正确的,但也可以不调用函数:

$("#mySelect")[0].selectedIndex;

jQuery 集合表现为类似数组的对象,并通过它公开实际的 DOM 元素。

于 2009-06-13T03:47:24.563 回答
1

$("#mySelect").val()会成功的。

于 2009-06-13T03:40:00.917 回答
0
$("#mySelect option:selected").val()
于 2009-06-13T03:46:54.720 回答