我正在以非常简单的布局处理页面:H1 后跟图像,然后是 H2。内容是动态生成的,因此如果没有图像,布局将从 H1 更改,然后是 H2。发生这种情况时,H2 中的文本必须在屏幕上居中而不是图像。我创建了另一种称为 H3 的样式,这样当没有图像时,H1 紧跟 H2,然后 H2 变成 H3。
$('h2').replaceWith(function() {
if ('h2' after 'h1') {
return $("<h3 />", { html: $(this).html() });
} )
我似乎无法正确语法。
使用 CSS 的相邻同级选择器 (+):
h1 + h2 { text-align:center; }
https://developer.mozilla.org/en-US/docs/Web/CSS/Adjacent_sibling_selectors
h1 { text-align:center; }
h1 + img + h2 { background-color:red; }
h1 + h2 { text-align:center; }
<h1>H1</h1>
<img src="#"/>
<h2>H2</h2>
<hr>
<h1>H1</h1>
<h2>H2</h2>