在jQuery中通过ID获取底层DOM元素的最佳方法是什么?

时间:2009-06-13 03:35:52

标签: jquery selector

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

<select id="mySelect"> 

...

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

不认为我可以使用

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

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

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

这是正确的吗?是否有一个选择器让我直接进入DOM元素而不必进行“额外调用”来获取(0)?

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

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

3 个答案:

答案 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()