html–nth-child没有针对正确的元素?

html–nth-child没有针对正确的元素?,第1张

概述.test:nth-child(1), .test:nth-child(2), .test:nth-child(3) { color: #0F0 }<div class='test'> <p>Test</p> </div> <div class='reuinIt'> <p>T

.test:nth-child(1),.test:nth-child(2),.test:nth-child(3) {  color: #0F0}

https://jsfiddle.net/dkfj2xzj/13/< - 如果有帮助的话,用我的jquery代码更新为什么它不跳过.ruinIt类而不是针对第三个.test?
我正在动态添加< div> s< div>如果没有添加.checkDrop类,我需要跳过它.

谢谢

最佳答案这是因为第n个子选择器并不意味着它是该特定类的第n个.这意味着它是整个第n个兄弟姐妹.

所以nth-child(2)引用你的.reuinIt类,但是它也没有.test类,因此它没有接收任何样式.

你的最后一个.test类是nth-child(4)但是没有应用样式规则.

如果你想看一个有效的例子,我已经更新了你的fiddle here.

例子

:nth-​​child

这里需要记住的重要一点是:nth-​​child选择器根据其元素/父元素中的索引/位置专门定位HTML元素.

看一下下面的例子,并注意相应的注释:nth-​​child选择器的索引如何继续递增,而不管它所针对的元素类型如何.

:nth-​​of-type

很酷的事情:nth-​​of-type是它忽略了所有其他不同类型的元素,即如果你所针对的元素是< p>,它将忽略所有周围的“非 – < p>”中计算其指数时的元素.

下面的示例将为您提供对索引规则的基本了解:nth-​​of-type如下:

更复杂的是:nth-​​of-type

然而,记住这一点非常重要:nth-​​of-type基于它在HTML元素类型上的索引值,而不管您用来调用属性的CSS类.

看看下面的例子:

这个例子稍微复杂一点,但如果你把CSS Declarations视为一种过滤规则,它会有所帮助.例如,如果通过键入以下内容创建CSS声明:

.p:nth-of-type(2) {  background-color: red;}

我基本上是在告诉浏览器2件事情:

>仅< p>标签应该受到影响,
>只有当他们是第二个< p>他们的兄弟姐妹中的标签

当我编写看起来像这样的CSS时,难度很大:

.my-class:nth-of-type(1) {  background-color: red;}

通过不指定元素类型,我的规则基本上使用以下过滤器进行读取:

>只有具有类my-class的元素才会受到影响,
>只有这些元素是其元素类型的第一个兄弟.

如果要将上面的CSS应用于示例(see fiddle for working example)中的HTML,我们将获得如下所示的输出:

在上面的输出中,您将看到第一个< h2>和第一个< p>无论他们的兄弟姐妹是否应用了我的班级名称,他们都会受到影响. 总结

以上是内存溢出为你收集整理的html – nth-child没有针对正确的元素?全部内容,希望文章能够帮你解决html – nth-child没有针对正确的元素?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1119074.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)