jquery找到第一个元素

33 javascript jquery

我正在写作$(this).closest('.comment').find('form').toggle('slow'); ,问题是孩子的每一种形式都在被切换.我想只切换第一个表格.html类似于下面的内容,这是一个链接

<div comment>
<a href>
<form>
</form>
    <a href>
    <div comment>
    <form>
    </form>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

nic*_*ckf 53

你可以使用其中之一

$(this).closest('.comment').find('form').eq(0).toggle('slow');
Run Code Online (Sandbox Code Playgroud)

要么

$(this).closest('.comment').find('form:first').toggle('slow');
Run Code Online (Sandbox Code Playgroud)

  • 如果您真的关心性能,本机“getElementsByTagName”会更快:http://jsperf.com/jquery-first-vs-first-vs-eq-0-vs-0/16 (2认同)
  • 这是否首先遍历树然后选择第一个元素?还是在找到第一个元素后以某种方式停止?我问是因为我正在处理带有数百个嵌套节点的树,但只想选择第一个匹配的元素。我想知道这种方法在这种情况下是否效率很低。 (2认同)

小智 9

使用:first如下选择器:

$(this).closest('.comment').find('form:**first**').toggle('slow');
Run Code Online (Sandbox Code Playgroud)


nik*_*ola 5

我用

$([selector]).slice(0, 1)
Run Code Online (Sandbox Code Playgroud)

因为它是选择查询片段的最明确的方式,并且因为它可以很容易地修改为不匹配第一个元素,而是匹配下一个元素,等等。


Oli*_*oyo 5

使用 jquery 只需使用:

    $( "form" ).first().toggle('slow');
Run Code Online (Sandbox Code Playgroud)