代码之家  ›  专栏  ›  技术社区  ›  yoliho

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

  •  0
  • yoliho  · 技术社区  · 17 年前

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

    <select id="mySelect"> 
    

    ...

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

    我 我可以用

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

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

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

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

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

    var selectedIndex = $('mySelect').selectedIndex;
    
    3 回复  |  直到 14 年前
        1
  •  3
  •   Paolo Bergantino    17 年前

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

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

    但是,有时,您确实希望出于任何原因访问特定的DOM属性。

    .get(0)

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

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

        2
  •  1
  •   Paolo Bergantino    17 年前

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

        3
  •  0
  •   user434917 user434917    17 年前
    $("#mySelect option:selected").val()