html - CSS选择元素与同胞

标签 html css

<分区>

当且仅当它的相邻兄弟是某个元素时,我想选择一个元素。

<div>
    <h1>Select Me</h1>
    <h2>I'm the sibling, yay!</h2>
    <div>
        <p>A paragraph.</p>
    </div>
</div>
<div>
    <h1>Don't Select Me - I have no h2 sibling. :(</h1>
    <div>
        <p>A longer paragraph.</p>
    </div>
</div>

在这个特定示例中,我只想选择第一个 h1,因为它有一个相邻的 h2。另一个 h1 不符合该条件,所以我不想选择它。

我找到了 this但它对我不起作用,因为该元素有其他 sibling ,而且永远不是独生子。

最佳答案

CSS 中还没有以前的元素选择器。有一个相邻兄弟选择器:+,还有一个通用兄弟选择器:~

我想我可以给你一个 jQuery 解决方案:

$('h2').prev('h1').addClass('favH1');
h1.favH1{
  color:red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
    <h1>Select Me</h1>
    <h2>I'm the sibling, yay!</h2>
    <div>
        <p>A paragraph.</p>
    </div>
</div>
<div>
    <h1>Don't Select Me - I have no h2 sibling. :(</h1>
    <div>
        <p>A longer paragraph.</p>
    </div>
</div>

关于html - CSS选择元素与同胞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36486693/

相关文章:

html - CSS 优先级问题

html - 如何创建相对于其他元素的响应式嵌套 SVG 线?

html - CSS:帮助对齐彼此相邻的 div(展开 - 折叠)框

html - 粘性导航栏不会跟随 Internet Explorer 和 Chrome 中的页面滚动

css - 如何制作 3 个水平响应式背景图片

javascript - 正确缩放图像但适合 div

jquery - bootstrap-select 默认样式似乎不正确

javascript - 如何使用 CSS3 创建自定义形状来匹配它?

html - 边距顶部 : 100% gets parent width value. .. 奇怪

html - 更改背景颜色的不透明度,但不更改文本