给定Javascript片段的JQuery遍历

给定Javascript片段的JQuery遍历,javascript,jquery,Javascript,Jquery,我试图理解JQuery中的遍历。我有一段Javascript代码,它提取document.forms[0].elements[0]。有人能给我解释一下如何获得与此等价的JQuery吗?在JQuery中,这将是: $('form').eq(0).children("input[type!='image'], select, textarea").eq(0); 要分解它: $('form')选择页面上的所有'form'标记 .eq(0)将选择仅限于集合中的第一个表单 .children('inp

我试图理解JQuery中的遍历。我有一段Javascript代码,它提取document.forms[0].elements[0]。有人能给我解释一下如何获得与此等价的JQuery吗?

在JQuery中,这将是:

$('form').eq(0).children("input[type!='image'], select, textarea").eq(0);
要分解它:

  • $('form')
    选择页面上的所有'form'标记
  • .eq(0)
    将选择仅限于集合中的第一个表单
  • .children('input[type!='image'],select,textarea')
    获取该对象的所有子节点,这些子节点是
    input
    select
    textarea
    元素(不是“image”类型的输入,以严格匹配
  • .eq(0)
    将选择限制为集合中的第一个;第一个子项

这应该可以做到

$('form:first :input[type!="image"]:first')

我认为这应该是一个等价物:
$('form:first:first child')
$(document.forms[0].elements[0])
@ClaudioRedi-不,给定
,它将返回除表单之外的所有元素,而不仅仅是输入。@adeneo这对教授OP如何进行jQuery遍历没有任何作用;关键不是获得jQuery包装的最终元素,而是了解什么(如果有的话)jQuery提供了类似的遍历选项。@Quentin:ideend,出于某种原因,我认为他在寻找表单的第一个子项(输入或否)。感谢您指出这一点。类似于
。eq(0)
将是
。get(0)
但是,如果需要HtmleElement,您将获得实际的dom元素,而不是jQuery对象。如果您首先有标签或任何东西,这将不起作用。更好的答案是@adeneo。哦,对了,
元素
不会抓住所有子元素,只是控制元素。我将更新解决方案。@Kevkong True;如果裸HtmleMent是需要的,链中最后一个
.eq(0)
应该成为
.get(0)
。OP在该领域的初衷不清楚,因为他们专注于遍历。