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

jQuery等价于document.forms[0].elements[i].value;?

  •  6
  • Ian  · 技术社区  · 14 年前

    jquery等价于什么: document.forms[0].elements[i].value;

    我不知道如何在jQuery中遍历窗体及其元素,我想知道如何做到这一点。

    5 回复  |  直到 12 年前
        1
  •  15
  •   Nick Craver    14 年前

    通常的翻译是 :input 选择器:

    $("form:first :input").each(function() {
      alert($(this).val()); //alerts the value
    });
    

    :first 因为你的例子是第一个 <form> :第一个 关。这个 :input selector 为…工作 <input> <select> , <textarea> ……所有你通常关心的元素。

    然而,如果我们知道你的目标是什么,可能有一个非常简单的方法来实现它。如果你可以发布更多的信息,比如HTML和你想要提取的值(或者做其他事情)。

        2
  •  1
  •   Fortes    14 年前

    好吧,照字面翻译,应该是:

    $('form:first *:nth-child(i)').val()
    

    但是jQuery可以很容易地通过ID或CSS选择器等其他方式获取元素。如果您执行以下操作,则更易于维护:

    $('form#id input.name').val()
    
        3
  •  0
  •   Luis Junior    14 年前
    $("#formid input").each(function(){
        alert($(this).attr("value"))
    })  
    
        4
  •  0
  •   spinon    14 年前

    这将为您提供窗体下的所有元素。包括非形式元素:

    $("#[form id]").find()
    

    然后可以使用each函数遍历所有子函数。也可以使用输入选择器仅返回表单元素:

    $("#[form id] :input")
    
        5
  •  0
  •   Robert    12 年前

    $('form:first').children(':first').val();
    

    这将获得第一个节点中第一个子节点的值 <form>