为什么n-child会返回?
考虑这个片断:为什么n-child会返回?
<div>
<div class="user_photo"></div>
<h5><b>Jane Doe,</b> 01 May 2016</h5>
</div>
<div>
<div class="user_photo"></div>
<h5><b>Jane Doe,</b> 01 May 2016</h5>
</div>
当搜索jQuery('div.user_photo:nth-child(0)')
我得到:
[<div class="user_photo"></div>, <div class="user_photo"></div>]
为什么我没有拿到此数组中的第一个div?我如何获得数组的第一个元素而不添加新的类?
选择器div.user_photo:nth-child(0)
指的是每个具有类user_photo 和的div都是其父代的第一个孩子。
要“获取”该阵列的第一个元素,您可以使用getElementsByClassName函数,假设您发布的代码段是具有user_photo
类的div的第一次出现。
document.getElementsByClassName("user_photo")[0];
// the first div having user_photo as a class
这就是我需要在父单元中找到'user_photo',对吧? – stavrzt
忘记父母单位。用'document.getElementsByClass('user_photo')'''''''''''''''''''''''''''''然后,用'document.getElementsByClass('user_photo')[0]'指向第一个文档,为您提供文档中具有'user_photo'类的第一个div。 –
_“选择器div.user_photo:nth-child(0)指的是每个具有class user_photo的div的第一个孩子”_ - 不,它不。它选择所有具有'user_photo'类的'div'元素,它们是_their_父元素的第一个子元素。 – CBroe
的nth-child
选择实际上意味着如果选择的元素是它的父的nth-child
。
所以在你的情况下,.user_photo
是其父母div
每个的第一个孩子。为了测试这个,将.user_photo
div和h5
切换为其中一个元素,并且您会看到它只会选择.user_photo
div中的一个。
要做你想做的事,我会把一个班放在那个匿名div上,然后做.anonymous-div:first-child .user_photo
。如果您不能在该div上放置课程,那么您可能需要使用另一个具有更多唯一标识符的父元素遍历它,所以类似于#common-parent > div:first-child .user_photo
尝试执行第n个类型。
jQuery('div.user_photo:nth-of-type(0)')
...因为您正在使用'用户照片'类的nth-child div。 – Scott
你试过'jQuery('div.user_photo')[0]'? – connexo
提示:''div.user_photo:n-child [1]'**应**返回'[
, ]'。这是什么意思 – slebetman