Javascript 使用第n个子选择器选择元素

Javascript 使用第n个子选择器选择元素,javascript,jquery,css,css-selectors,Javascript,Jquery,Css,Css Selectors,$(“.sidebar>i:n子项(3)”)。打开(“单击”,显示菜单) 提交 彩色托盘: 来自: :nth child(n)伪类很容易与:eq(n)混淆,即使这两个伪类可能导致显著不同的匹配元素。使用:nth child(n),将统计所有子元素,而不管它们是什么,并且仅当指定的元素与附加到伪类的选择器匹配时,才会选择该元素。使用:eq(n)时,仅计算附加到伪类的选择器,不限于任何其他元素的子元素,并选择第(n+1)个选择器(n基于0) 发件人: :nth child(n)伪类很容易与:eq(

$(“.sidebar>i:n子项(3)”)。打开(“单击”,显示菜单)

提交
彩色托盘:


来自:

:nth child(n)伪类很容易与:eq(n)混淆,即使这两个伪类可能导致显著不同的匹配元素。使用:nth child(n),将统计所有子元素,而不管它们是什么,并且仅当指定的元素与附加到伪类的选择器匹配时,才会选择该元素。使用:eq(n)时,仅计算附加到伪类的选择器,不限于任何其他元素的子元素,并选择第(n+1)个选择器(n基于0)

发件人:

:nth child(n)伪类很容易与:eq(n)混淆,即使这两个伪类可能导致显著不同的匹配元素。使用:nth child(n),将统计所有子元素,而不管它们是什么,并且仅当指定的元素与附加到伪类的选择器匹配时,才会选择该元素。使用:eq(n)时,仅计算附加到伪类的选择器,不限于任何其他元素的子元素,并选择第(n+1)个选择器(n基于0)

因为
:n子元素(n)
选择父元素中的所有子元素,而不管它们是什么。因此,在你的情况下:

.sidebar>i:nth-child(3)
// This is the 3rd child, i tag

.sidebar>i:nth-child(2)
// This is the 2nd child, div tag
console.log($('.sidebar>i:n子级(1)')[0])
console.log($('.sidebar>:第n个子项(2)')[0])
console.log($('.sidebar>i:n子级(2)')[0])
console.log($('.sidebar>i:n子级(3))[0])

试验
因为
:n子元素(n)
选择父元素中的所有子元素,而不管它们是什么。因此,在你的情况下:

.sidebar>i:nth-child(3)
// This is the 3rd child, i tag

.sidebar>i:nth-child(2)
// This is the 2nd child, div tag
console.log($('.sidebar>i:n子级(1)')[0])
console.log($('.sidebar>:第n个子项(2)')[0])
console.log($('.sidebar>i:n子级(2)')[0])
console.log($('.sidebar>i:n子级(3))[0])

试验

答案很好,尽管使用这样复杂的选择器可能不是一个好主意。我会考虑使用而不是可读性。代码>$('.sidebar>i')。获取(2)。点击('click',showMenu)
将获取第二个
i
元素@kingdaro的可能重复项非常感谢!答案是好的,尽管使用这样一个复杂的选择器可能不是一个好主意。我会考虑使用而不是可读性。代码>$('.sidebar>i')。获取(2)。点击('click',showMenu)将获取第二个
i
元素@kingdaro的可能重复项非常感谢!