选择CSS类在整个站点中的第一个外观

选择CSS类在整个站点中的第一个外观,css,Css,我想解决一个元素第一次出现在网站上的问题。独立于儿童情况。让我们假设h2的第一次出现,无论它位于何处,都是为了移除上面的填充物,而下面有一个。如果它能与类一起工作,甚至更好,比如捕捉页面的第一个条目标题。如上所述,这些元素可能会被许多其他不可预见的元素所包含,因此任何针对子元素或兄弟元素的选择器都没有帮助。我发现一些旧的答案说这根本不可能,另一些则为具体情况提供了变通办法,但我想知道,2016年,是否存在这样一种模式 谢谢你的提示 Sofian纯CSS无法实现这一点,但可以使用jQuery $(

我想解决一个元素第一次出现在网站上的问题。独立于儿童情况。让我们假设h2的第一次出现,无论它位于何处,都是为了移除上面的填充物,而下面有一个。如果它能与类一起工作,甚至更好,比如捕捉页面的第一个条目标题。如上所述,这些元素可能会被许多其他不可预见的元素所包含,因此任何针对子元素或兄弟元素的选择器都没有帮助。我发现一些旧的答案说这根本不可能,另一些则为具体情况提供了变通办法,但我想知道,2016年,是否存在这样一种模式

谢谢你的提示
Sofian

纯CSS无法实现这一点,但可以使用jQuery

$( "h2:first" ).css( "padding", "0" );

对于非jQuery替代方案:

const firstH2 = document.querySelector('h2');
if (firstH2) firstH2.style.padding = '0';


我认为你不能用css来做,但是用JavaScript很容易做到

first_h2  = document.querySelectorAll('h2')[0];

请看一下BoltClock的答案-。需要注意的是,这种方法仍然会选择每个父类下的第一个元素,而不仅仅是整个页面中的第一个元素page@DavidB-
:第一个类型
,与所有第n个子类型一样伪类型,运算符引用元素相对于其同级(而不是整个文档)的位置。
first_h2  = document.querySelectorAll('h2')[0];