Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery查找以获取第一个元素_Javascript_Jquery - Fatal编程技术网

Javascript jquery查找以获取第一个元素

Javascript jquery查找以获取第一个元素,javascript,jquery,Javascript,Jquery,我正在写$(this)。最近('.comment')。查找('form')。切换('slow')问题是子对象中的每个表单都被切换。我只想切换第一个表单。html类似于下面的内容,这是a链接 <div comment> <a href> <form> </form> <a href> <div comment> <form> </form> </div>

我正在写
$(this)。最近('.comment')。查找('form')。切换('slow')
问题是子对象中的每个表单都被切换。我只想切换第一个表单。html类似于下面的内容,这是a链接

<div comment>
<a href>
<form>
</form>
    <a href>
    <div comment>
    <form>
    </form>
    </div>
</div>

您可以使用

$(this).closest('.comment').find('form').eq(0).toggle('slow');

我用


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

使用
:first
选择器,如下所示:

$(this).closest('.comment').find('form:first').toggle('slow');

使用jquery只需使用:

    $( "form" ).first().toggle('slow');

使用下面的jqueryfind示例获取第一个元素

$(文档).ready(函数(){
$(“.first”).first().css(“背景色”、“绿色”);
});
。首先{
填充:15px;
边界:12px固体#23384E;
背景#28BAA2;
边缘顶部:10px;
}

Tutsmake提供的jQuery第一个方法示例
这是第一个()方法示例
div中的一段

div中的另一段


另一部分中的段落

另一部分的另一段


另一部分中的段落

另一部分的另一段


获取
查找的第一个结果的最简单方法是使用良好的旧
[index]
运算符:

$('.comment').find('form')[0];

工作起来很有魅力

你已经得到了一个很好的答案,但下次请花时间看一下文档。JQuery有很好的文档记录,如果您一直在寻找它,您可以自己轻松地找到
:first
选择器。。。我找到了,但找不到。我不擅长jquery,这是我第二次使用它。我刚学了一些基础知识,已经花了1个小时讨论了这个问题和我的上一个问题。也许你没有在api.jquery.com中查找,而是在docs.jquery.com的旧文档中查找,我不得不同意,由于旧文档的结构,以前很难找到像这样的简单api函数。第二个选项对我来说很有用,我必须选择first div jQuery(this).closest('.divmodule').find('div:first').attr('class'));仅供参考,$('.foo:first')比$('.foo').first()慢很多。如果您真的关心性能,那么native
getElementsByTagName
要快得多:这是不是先遍历树,然后选择第一个元素?或者在找到第一个元素后它会停止吗?我这样问是因为我正在处理一个有数百个嵌套节点的树,但只想选择第一个匹配的元素。我想知道这种方法在这种情况下是否非常低效。
    $( "form" ).first().toggle('slow');
$('.comment').find('form')[0];